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