opencv下imread函数返回值

openCV的imread()函数和imwrite()函数能支持各种静态图像文件格式。

不同系统支持的文件格式不同,但都支持BMP(全称Bitmap, 这是一种与硬件设备无关的图像类型,几乎所有的软件都支持bmp格式,并且能够非常快地读取),通常还支持PNG,JPEG(人们日常碰到的".jpeg"、''.jpg"等指代的是图像数据经压缩编码后在媒体上的封存形式,不能与JPEG压缩标准混为一谈),TIFF格式。

 无论哪种格式,每个像素都会有一个值,但不同格式表示像素的方式有所不同。例如,可以通过二维NumPy数组来简单创建

一个黑色正方形图像:

img  =numpy.zeros((3,3),dtype=numpy.unit8)

控制台上打印结果如下

array([  [0,0,0],

[0,0,0],

[0,0,0]  ],dtype=uint8

)

每个像素都由一个8位整数来表示,即每个像素值的范围是0~255

利用cv2.cvtColor()函数将该图像转换成BGR(blue-green-red)格式

控制台上

array(

[ [  [0,0,0],

[0,0,0],

[0,0,0]  ],

[  [0,0,0],

[0,0,0],

[0,0,0]  ],

[  [0,0,0],

[0,0,0],

[0,0,0]  ] ],


dtype=uint8

)

现在每个像素都由一个三元组

opencv下imread函数返回值opencv下imread函数返回值

(网上找的图,侵权删)

所以它的返回值可以理解为图像存储格式,有无通道。