簡體   English   中英

將原始的RGB數組轉換為png圖像。

[英]Convert a raw RGB array into a png image.

我試圖使用PIL讀取圖像文件,然后以numpy數組的形式獲取原始像素值,然后試圖將這些值放在一起以形成原始圖像的副本。 該代碼不會產生任何運行時錯誤,但是形成的圖像(“ my.png”)不可讀。

from PIL import Image

import numpy as np

img_filename = "image.png"
img = Image.open(img_filename)
img = img.convert("RGB")
img.show()
aa  = np.array(img.getdata())
alpha = Image.fromarray(aa,"RGB")
alpha.save('my.png')
alpha.show()


np.array(img.getdata())給出形狀為(X, 3)的2D數組,其中X取決於原始圖像的尺寸。

只需將相關代碼行更改為:

aa  = np.array(img)

這會將3D數組分配給aa ,從而解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM