python 读取png图片 透明度

import matplotlib.pyplot as plt # plt 用于显示图片
import numpy as np
import cv2

img = cv2.imread("c:/456.png",cv2.IMREAD_UNCHANGED)
h,w,g = (img.shape)
print(h)
f = open("c:/111.bin",'wb')
a = np.array(img)
print(np.shape(img));
#print(img)
print(img[0][0][0])

for j in range(0,h):
    for i in range(0,w):
        b = a[j][i][3]
        print(type(b))
        f.write(b)
f.close()

plt.imshow(img) # 显示图片
plt.axis('on') # 不显示坐标轴
plt.show()

python 读取png图片 透明度_第1张图片

测试和C语言写的脚本读取的透明度一模一样。

 

cv2.IMREAD_UNCHANGED  能读取 RGBA四个通道,如果不加默认是只读取RGB

Python操作文件也很简单。直接open write  close.轻便不少。

总体思路:

openCV读取PNG读取,读取出来的信息可以用shape读取出基本上的大小信息和通道个数,

出来的数据像是一个三维数组。高度,宽度,元素信息块包含的数据个数(这个是四个值 RGBA)

img[h][w][rgba]

 

你可能感兴趣的:(Python)