OPenCV的Mat类数据类型总结
在openCV 中经常会遇到需要访问mat类对象中的数据的情况,所以必须真确填写相应的数据类型。
1、Op e nC V中的数据类型和常⽤的数据类型对应关系如下:
Mat_<uchar>---------CV_8U
Mat<char>-----------CV_8S
Nat_<short>---------CV_16S
Mat_<ushort>--------CV_16U
Mat_<int>-----------CV_32S
Mat_<float>----------CV_32F
Mat_<double>--------CV_64F
2、OpenCV中的数据类型宏定义和对应数据类型以及数值范围:
数值体类型取值范围
CV_8U                8位⽆符号整数(0…..255)
CV_8S                8 位符号整数(-128…..127)
CV_16U                16 位⽆符号整数(0……65535)
CV_16S                16 位符号整数(-32768…..32767)
CV_32S                32 位符号整数(-2147483648……2147483647)
CV_32F                32 位浮点数(-FLT_MAX ………FLT_MAX,INF,NAN)
CV_64F                64 位浮点数(-DBL_MAX ……….DBL_MAX,INF,NAN)
注:
parameter数据类型⼀般的图像⽂件格式使⽤的是 Unsigned 8bits吧,CvMat矩阵对应的参数类型就是CV_8UC1,CV_8UC2,CV_8UC3。(最后的1、2、3表⽰通道数,譬如RGB3通道就⽤CV_8UC3)
⽽float 是32位的,对应CvMat数据结构参数就是:CV_32FC1,CV_32FC2,
double是64bits,对应CvMat数据结构参数:CV_64FC1,CV_64FC2,CV_64FC3等。
变换这种矩阵数据类型,Mat类的函数convertTo()可以办到:
C++: void Mat::convertTo(OutputArray m,int rtype, double alpha=1, double beta=0 ) const
M-输出矩阵,如果在操作之前没有合适的⼤⼩或类型,则重新分配。
rType -期望的输出矩阵类型,或者,因为通道的数量与输⼊具有相同的深度;如果Rtype是负的,则输出矩阵将具有与输⼊相同的类型。
α-可选⽐例因⼦。
β-可选的增量与⽐例因⼦相加。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。