1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > OpenCV—矩阵数据类型转换cv::convertTo

OpenCV—矩阵数据类型转换cv::convertTo

时间:2021-09-30 23:47:26

相关推荐

OpenCV—矩阵数据类型转换cv::convertTo

OpenCV—矩阵数据类型转换cv::convertTo

函数

[cpp]view plaincopyvoidconvertTo(OutputArraym,intrtype,doublealpha=1,doublebeta=0)const;

参数

m – 目标矩阵。如果m在运算前没有合适的尺寸或类型,将被重新分配。

rtype– 目标矩阵的类型。因为目标矩阵的通道数与源矩阵一样,所以rtype也可以看做是目标矩阵的位深度。如果rtype为负值,目标矩阵和源矩阵将使用同样的类型。

alpha– 尺度变换因子(可选)。

beta– 附加到尺度变换后的值上的偏移量(可选)。

描述

函数将源矩阵中的像素值转换为目标类型。最后会使用溢出保护函数saturate_cast<>,以避免转换过程中可能出现的溢出。函数执行如下运算:

示例

在应用分水岭算法分割图像时,标记图像为32位有符号整型CV_32S变量(以便定义超过255个标签,每个值标记一类物体,如255标记目标,128标记背景,0标记未知等等)构成的矩阵markers,想要将标记图像显示出来必须转换其数据类型。[cpp]view plaincopymarkers.convertTo(tmp,CV_8U,255,255);

将矩阵markers转换为CV_8U类型的矩阵tmp:tmp(x,y)= markers(x,y)*255+255.这样,将图像做线性变换,使值为-1的像素变为0(-1*255+255=0)。值大于255的像素将赋值为255,这是因为CV32S转换为无符号CV_8U时,应用了饱和度运算。具体应用参看分水岭算法的相关博文。

转载请注明:iracer的CSDN博客/iracer/article/details/49204147

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