1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【opencv-c++】cv::Mat::convertTo图像像素类型转换

【opencv-c++】cv::Mat::convertTo图像像素类型转换

时间:2020-11-24 02:15:31

相关推荐

【opencv-c++】cv::Mat::convertTo图像像素类型转换

【opencv-c++】cv::Mat::convertTo图像像素类型转换

1、背景2、示例

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函数。

cv::Mat::convertTo函数原型:

<

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。