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()

測試和C語言寫的腳本讀取的透明度一模一樣。

 

cv2.IMREAD_UNCHANGED  能讀取 RGBA四個通道,如果不加默認是隻讀取RGB

Python操作文件也很簡單。直接open write  close.輕便不少。

總體思路:

openCV讀取PNG讀取,讀取出來的信息可以用shape讀取出基本上的大小信息和通道個數,

出來的數據像是一個三維數組。高度,寬度,元素信息塊包含的數據個數(這個是四個值 RGBA)

img[h][w][rgba]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章