当前位置: 首页 > 工具软件 > matImage > 使用案例 >

Mat img_1 = imread( argv[1], CV_LOAD_IMAGE_COLOR );

贡光明
2023-12-01
 Mat img_1 = imread( argv[1], CV_LOAD_IMAGE_COLOR );

这语句出自《SLAM十四讲》中7.2节的ORB程序实践
这语句的意思是读取相应的图片并保存为Mat数据类型,Mat为openCV中最主要的数据存储结构。

等式的左边很好理解,数据类型为Mat ,名称为img_1。
等式右边最主要的是第二个参数,第二个参数为图片的读取类型。
第二个参数有以下几种选择:

  IMREAD_UNCHANGED = -1
  IMREAD_GRAYSCALE = 0
  IMREAD_COLOR     = 1
  IMREAD_ANYDEPTH  = 2
  IMREAD_ANYCOLOR  = 4

当传入的参数是IMREAD_ANYDEPTH的时候,Mat的默认创建类型为CV_8U,表示一个像素点数据用8位的无符号数char表示,值的范围为0~255。
当传入参数为IMREAD_COLOR时通道为3,也就是存储的是三通道的彩色图片。
当传入参数IMREAD_ANYCOLOR时,根据源图像的通道数决定,如果是单通道的灰度图像则也为灰度图像,如果通道数> 1 则也为通道3。
如果是IMREAD_GRAYSCALE则是单通道。

 类似资料: