1、背景
opencv的最常用的图像数据类型是unsigned char 8bits,
unsigned char型,范围是0-255。
对应的数据类型有:CV_8UC1、CV_8UC3。
其中,
CV_8UC1表示单通道8位的unsigned char型。
CV_8UC3表示3通道8位的unsigned char型。
对于CV_8UC3类型保存到cv::Vec3b里面。
Vec3b—表示每一个Vec3b对象中,可以存储3个char(字符型)数据,比如可以用这样的对象,去存储RGB图像中的一个像素点 。
其实opencv里面图片还有float、double数据类型。
float是32位,对应的cv::Mat数据结构类型是:CV_32FC1,CV_32FC3
double是64位,对应的cv::Mat数据结构类型是:CV_64FC1,CV_64FC3,
CV_64FC3表示64位的3通道double型。
同理CV_32FC3、CV_64FC3保存到cv::Vec3f、cv::Vec3d;
Vec3f—表示每一个Vec3f对象中,可以存储3个float(字符型)数据。
Vec3d—表示每一个Vec3d对象中,可以存储3个double(字符型)数据。
要想实现不同图片数据类型之间的转化,需要使用cv::Mat::convertTo函数。