OpenCV中Mat的数据类型与基本数据类型对应关系

由于在使用OpenCV处理矩阵数据时,总是会因为无法将Mat的数据类型与基本数据类型相对应,导致用指针遍历数据出现数值异常的情况,特此记录一下,以备平时查看。
1、参数说明 Mat的数据类型格式为:

【OpenCV中Mat的数据类型与基本数据类型对应关系】CV_<位数>(U|S|F)C<通道数>
  • 位数取值为:8、16、32、64
  • U|S|F表示数据类型:U无符号整型、S有符号整型、F浮点型
  • C表示通道,其后跟的数字即为具体的通道数,常见取值为:1、2、3、4
CV_8UC1,表示的是单通道8位无符号整型矩阵,常用来表示灰度图像;
CV_8UC3,表示的是三通道8位无符号整型矩阵,常用来表示RGB图像。
2、单通道对应关系
Mat数据类型 基本数据类型 取值范围
CV_8U uchar (0,255)
CV_8S char (-128,127)
CV_16U ushort (0,65535)
CV_16S short (-32768,32767)
CV_32S int (-2147483648,2147483647)
CV_32F float (-FLT_MAX,FLT_MAX,INF,NAN)
CV_64F double (-DBL_MAX,DBL_MAX,INF,NAN)
参考自这里
3、多通道对应关系
Mat数据类型 C2 C3 C4 C6
CV_8U Vec2b Vec3b Vec4b
CV_16S Vec2s Vec3s Vec4s
CV_32S Vec2i Vec3i Vec4i
CV_32F Vec2f Vec3f Vec4f Vec6f
CV_64F Vec2d Vec3d Vec4d Vec6d
参考自这里

    推荐阅读