OpenCV学习笔记04_图像的存储原理

OpenCV作为强大的计算机视觉开源库,很大程度上参考了MatLab的实现细节和风格,比如说,在OpenCV2.x 版本以后,越来越多的函数实现了MatLab具有的功能,甚至干脆连函数名都一模一样(如 imread, imshow,imwriter等)。
Mat类 (Matrix的缩写) 是OpenCV用于处理图像而引入的一个封装类。

Mat一般是二维向量,如果是灰度图,一般存放 <uchar>类型;如果是RGB彩色图,存放 <Vec3b>类型(Vec3b是cv::vector<uchar, 3>的别名);
什么是char类型
顾名思义,char类型是专门存储字符(如字母(对应acsii码表)和数字)
在JAVA中char占2个字节,C语言中占1个字节。
uchar类型:
uchar类型一个字节存储值为[0,255];

OpenCV学习笔记04_图像的存储原理

Vec3b
Vec3b是cv::vector<uchar, 3>的别名,表示创建一个3个uchar类型数据的vector向量,其中每个uchar类型分别存一个通道的值(注意命名空间为cv而不是std);

OpenCV学习笔记04_图像的存储原理
上图可以看出3个通道是共享坐标的,也就意味着3个uchar的值是连续存放的

上一篇:单片机:数码管显示计时,LED0 1 1秒一闪 LED2 3 1分一闪 LED5 LED6 1小时一闪 K1 K2调整时 K3 K4调整分钟


下一篇:基于单片机的自动浇花器设计毕设论文