png的图片四通道,jpg为三通道

import cv2

img=cv2.imread("sample.jpg",cv2.IMREAD_UNCHANGED)

cv2.imshow("jpg",img)
#cv2.waitKey(0)
print(img.shape)


img2=cv2.imread("sample.png",cv2.IMREAD_UNCHANGED)

cv2.imshow("png",img2)
#cv2.waitKey(0)
print(img2.shape)

输出:
(853, 1280, 3)
(853, 1280, 4)

cv2.imread()用于读取图片文件

imread函数有两个参数,第一个参数是图片路径,第二个参数表示读取图片的形式,有三种:

cv2.IMREAD_COLOR:加载彩色图片,这个是默认参数,可以直接写1。

cv2.IMREAD_GRAYSCALE:以灰度模式加载图片,可以直接写0。

cv2.IMREAD_UNCHANGED:包括alpha,可以直接写-1

cv2.imread()读取图片后已多维数组的形式保存图片信息,前两维表示图片的像素坐标,最后一维表示图片的通道索引,具体图像的通道数由图片的格式来决定

img2=cv2.imread("sample.png",cv2.IMREAD_UNCHANGED) 如果改成img2=cv2.imread("sample.png") 输出 3,因为默认读入彩色图片。

png图片:

png图片比jpg多了一个Alpha通道, 一个RGB颜色模型的真彩图形,用由红、绿、蓝三个色彩信息通道合成的,每个通道用了8位色彩深度,共计24位,包含了所有彩色信息。为实现图形的透明效果,png图片采取在图形文件的处理与存储中附加上另一个8位信息的方法,这个附加的代表图形中各个素点透明度的通道信息就被叫做Alpha通道。

所以,送检的图片要转化成IMREAD_COLOR的三通道格式。

把jpg图片imread 一下在imwrite成 .png形式,发现 生成的png图片是三通道,四通道能转化成三通道,反之不可逆。

猜你喜欢

转载自blog.csdn.net/qq_44537267/article/details/128645338