imread
OpenCV库目前支持读取bmp、jpg、png、tiff等常用格式。读取函数为imread函数,imread有两个参数:第一个参数是我们所要读取图片的路径, 第二个参数是图片读取的方式。
IMREAD_COLOR 表示加载彩色图片(默认)
IMREAD_GRAYSCALE以黑白方式加载图片
IMREAD_UNCHANGED原图加载含alpha channel信息,此时输入图像为RGBA模式
以上三个参数的这三个值也可用1,0,-1来表示,方便编程时的输入。
Use the function cv2.imread() to read an image. The image should be in the working directory or a full path of image should be given.
Second argument is a flag which specifies the way image should be read.
cv2.IMREAD_COLOR : Loads a color image. Any transparency of image will be neglected. It is the default flag.
cv2.IMREAD_GRAYSCALE : Loads image in grayscale mode
cv2.IMREAD_UNCHANGED : Loads image as such including alpha channel
Instead of these three flags, you can simply pass integers 1, 0 or -1 respectively
png格式图形的显示
在之前的问题处理中,发现修复问题中生成的mask均是透明的。实际上mask是由四层完全相同的r,g,b,a二值图组成。
原因在于:png中0为完全透明,255为未遮挡情况;
而在常见的opencv生成图片逻辑中,0为黑色,255为白色。
这样造成的后果是:RGB有颜色部分对应alpha完全透明,alpha取值为0
的部分则对应着RGB白色部分,因此造成奇特的png mask图片的透明现象。