【opencv图像处理】图片的读取——cv2.imgread各类读取方式对比

如下实验基于python==3.六、opencv-python==4.1.0.2五、imutils==0.5.2html


图片的读取 cv2.imread

该方法第一个参数为文件名filename(文件路径+文件名)python

第二个为读取方式flags,可选参数git

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

IMREAD_IGNORE_ORIENTATION = 128

IMREAD_LOAD_GDAL = 8

IMREAD_REDUCED_COLOR_2 = 17
IMREAD_REDUCED_COLOR_4 = 33
IMREAD_REDUCED_COLOR_8 = 65

IMREAD_REDUCED_GRAYSCALE_2 = 16
IMREAD_REDUCED_GRAYSCALE_4 = 32
IMREAD_REDUCED_GRAYSCALE_8 = 64

IMREAD_UNCHANGED = -1

前4中读取方式的shape和显示效果以下github

可见IMREAD_GRAYSCALEIMREAD_ANYDEPTH都只读取了一层灰度图像测试

IMREAD_COLORIMREAD_ANYCOLOR读取了3层彩色图像3d

由于这里只测试了jpeg图片,可能在读取其余图片的状况下会有不一样结果,你们能够本身试一下code

cv2.IMREAD_GRAYSCALE (2048, 1536)
cv2.IMREAD_COLOR (2048, 1536, 3)
cv2.IMREAD_ANYDEPTH (2048, 1536)
cv2.IMREAD_ANYCOLOR (2048, 1536, 3)


下面是IMREAD_IGNORE_ORIENTATIONIMREAD_LOAD_GDALIMREAD_UNCHANGEDhtm

cv2.IMREAD_IGNORE_ORIENTATION (2048, 1536)
cv2.IMREAD_LOAD_GDAL (2048, 1536, 3)
cv2.IMREAD_UNCHANGED (2048, 1536, 3)

下面是IMREAD_REDUCED_COLOR_2IMREAD_REDUCED_COLOR_4IMREAD_REDUCED_COLOR_8blog

像素分别减小为原来的1/二、1/四、1/8,但依然是彩色像图片


cv2.IMREAD_REDUCED_COLOR_2 (1024, 768, 3)
cv2.IMREAD_REDUCED_COLOR_4 (512, 384, 3)
cv2.IMREAD_REDUCED_COLOR_8 (256, 192, 3)


下面是IMREAD_REDUCED_GRAYSCALE_2IMREAD_REDUCED_GRAYSCALE_4IMREAD_REDUCED_GRAYSCALE_8

像素分别减小为原来的1/二、1/四、1/8,而且都是灰度图像

cv2.IMREAD_REDUCED_GRAYSCALE_2 (1024, 768)
cv2.IMREAD_REDUCED_GRAYSCALE_4 (512, 384)
cv2.IMREAD_REDUCED_GRAYSCALE_8 (256, 192)

注:为了方便比较,以上全部图片在显示的时候又统一缩放为(512, 384)大小的图片并排显示

示例代码已经上传到github

相关文章
相关标签/搜索