OpenCV学习笔记(15)Opencv之<Vec3b>
来源:互联网 发布:mmd动作数据怎么做 编辑:程序博客网 时间:2024/05/22 02:17
转载自 http://blog.csdn.net/qq_29540745/article/details/52517269
一、What is vector?
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.
用法:
1.文件包含:
首先在程序开头处加上#include<vector>以包含所需要的类文件vector,还有一定要加上using namespace std;
2.声明一个int向量以替代一维的数组:vector <int> a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除。
比如Vec<uchar, 3>:
其实这句就是定义一个uchar类型的数组,长度为3而已,例如 8U 类型的 RGB 彩色图像可以使用 <Vec3b>,3 通道 float 类型的矩阵可以使用 <Vec3f>。对于 Vec 对象,可以使用[]符号如操作数组般读写其元素,如:Vec3b color; //用 color 变量描述一种 RGB 颜色
color[0]=255; //0通道的B 分量
color[1]=0; //1通道的G 分量
color[2]=0; //2通道的R 分量
二、How do we use it ?
vv
先扩展一下访问像素的 .at 的用法:
cv::mat的成员函数: .at(int y, int x)可以用来存取图像中对应坐标为(x,y)的元素坐标。但是在使用它时要注意,在编译期必须要已知图像的数据类型,这是因为cv::mat可以存放任意数据类型的元素。因此at方法的实现是用模板函数来实现的。假设提前已知一幅图像img的数据类型为 unsigned char型灰度图(单通道),要对坐标为(14,25)的像素重新赋值为25,则对应操作如下:
一个简单小程序:
结果:
下面是网上的一个程序(在图片上实现椒盐噪声),椒盐噪声是一种特殊的噪点,是随机的将图像的部分像素设置为黑色或白色(其实我理解是把椒盐噪声点随机设置颜色)。经修改如下:
结果:三、references
1.http://blog.csdn.net/liukun321/article/details/38402601
2.http://blog.csdn.net/wenhao_ir/article/details/50946638
- OpenCV学习笔记(15)Opencv之<Vec3b>
- Opencv之<Vec3b>
- Opencv之<Vec3b>
- OpenCv学习笔记(2)--Vec3b模板类之OpenCv源代码详解
- Opencv--<Vec3b>
- Opencv之<Vec3b>是什么东东
- Opencv之<Vec3b>是什么东东
- OpenCv学习笔记(三)---OpenCv中基本数据类型--Point,Size,Rect,Scalar,Vec3b类类型的详细解释及其OpenCv中源代码的详细分析
- Opencv学习笔记之:(1)Opencv简介
- OpenCV学习笔记(17)OpenCV之基本绘图
- OpenCV学习笔记(18)OpenCV之基本绘图2
- OpenCV之Python学习笔记
- OpenCV之Python学习笔记
- opencv学习笔记之resize
- OpenCV之Python学习笔记
- OpenCV之CUDA学习笔记
- OpenCV学习笔记之七
- OpenCV之Python学习笔记
- PHP底层工作原理
- 运行循环-RunLoop
- linux下配置jdk步骤
- Eclipse中的BuildPath详解
- 程序员最核心的竞争力是什么?
- OpenCV学习笔记(15)Opencv之<Vec3b>
- Android中的include标签
- 循环神经网络(RNN, Recurrent Neural Networks)介绍
- Ubuntu添加和删除用户
- 做到这几点,才能吸引HR的注意!
- SAP批次级别的意义及启用操作
- Qt基础 04_Qt对话框(三) 标准对话框
- 在wicket框架下生成年份与月份DropDownChoice下拉框
- C++:内联函数