OpenCV Mat仅适用于整数类型

时间:2014-10-22 08:11:00

标签: c++ opencv

我使用的算法要求Mat图像仅保存为无符号整数,而不是Mat提供的unsigned char(uchar)(rows,cols,CV_8U)。到目前为止,我尝试使用CV_8U,并且在读取uchar值时算法失败。有没有办法可以将Mat图像保存为8位整数? 感谢。

1 个答案:

答案 0 :(得分:5)

unsigned int没有匹配类型。您可以将CV_32SC1用于int类型。

类型列表可在那里找到:http://ninghang.blogspot.fr/2012/11/list-of-mat-type-in-opencv.html


如果博客不可用:

无符号8位uchar 0~255
IplImage:IPL_DEPTH_8U
Mat:CV_8UC1,CV_8UC2,CV_8UC3,CV_8UC4

签名8位字符char -128~127
IplImage:IPL_DEPTH_8S
Mat:CV_8SC1,CV_8SC2,CV_8SC3,CV_8SC4

无符号16位ushort 0~65535
IplImage:IPL_DEPTH_16U
Mat:CV_16UC1,CV_16UC2,CV_16UC3,CV_16UC4

签名16位短-32768~32767
IplImage:IPL_DEPTH_16S
Mat:CV_16SC1,CV_16SC2,CV_16SC3,CV_16SC4

签名32位int -2147483648~2147483647
IplImage:IPL_DEPTH_32S
Mat:CV_32SC1,CV_32SC2,CV_32SC3,CV_32SC4

浮动32位浮点-1.18 * 10-38~3.40 * 10-38
IplImage:IPL_DEPTH_32F
Mat:CV_32FC1,CV_32FC2,CV_32FC3,CV_32FC4

双64位双
Mat:CV_64FC1,CV_64FC2,CV_64FC3,CV_64FC4

无符号1位布尔
IplImage:IPL_DEPTH_1U