【问题标题】:OpenCV Mat for Integer types onlyOpenCV Mat 仅适用于整数类型
【发布时间】:2014-10-22 08:10:59
【问题描述】:

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

【问题讨论】:

  • 您的意思是 CV_8UC4 而不是“无符号整数”吗?
  • “保存”图像是什么意思?它只是发送到硬盘驱动器(或某事)?还是您想在程序中使用 unsigned int 类型“工作”?

标签: c++ opencv


【解决方案1】:

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

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


如果博客不可用:

无符号 8bits uchar 0~255
IplImage:IPL_DEPTH_8U
垫子:CV_8UC1、CV_8UC2、CV_8UC3、CV_8UC4

有符号 8bits char -128~127
IplImage:IPL_DEPTH_8S
垫子:CV_8SC1,CV_8SC2,CV_8SC3,CV_8SC4

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

有符号 16 位短 -32768~32767
IplImage:IPL_DEPTH_16S
垫子:CV_16SC1,CV_16SC2,CV_16SC3,CV_16SC4

带符号的 32 位整数 -2147483648~2147483647
IplImage:IPL_DEPTH_32S
垫子:CV_32SC1,CV_32SC2,CV_32SC3,CV_32SC4

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

双64位双
垫子:CV_64FC1,CV_64FC2,CV_64FC3,CV_64FC4

无符号 1 位布尔值
IplImage:IPL_DEPTH_1U

【讨论】:

    猜你喜欢
    • 2014-01-28
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多