我有一個腳本,它列出了圖像中十六進制的所有像素數據。 PIL或類似的庫是否可以輕鬆地從輸出文本重構圖像?這是我用它來獲取數據像素逐像素python重構圖像
#!/usr/bin/python
from PIL import Image
def rgb2hex(r, g, b):
return '#{:02x}{:02x}{:02x}'.format(r, g, b)
img = Image.open('apple_raw.png')
if img.mode in ('RGBA', 'LA') or (img.mode == 'P' and 'transparency' in img.info):
pixels = img.convert('RGBA').load()
width, height = img.size
for x in range(width):
for y in range(height):
r, g, b, a = pixels[x, y]
print '%s,%s,%s' % (x, y, rgb2hex(r, g, b))
輸出(SNIP)
0,0,#ffffff
0,1,#ffffff
0,2,#ffffff
0,3,#ffffff
0,4,#ffffff
...
...
304,308,#ffffff
304,309,#ffffff
304,310,#ffffff
304,311,#ffffff
304,312,#ffffff
304,313,#ffffff
http://imgur.com/a/5YT9H像我使用的測試
圖像大小是305x314我必須定義寫圖像時?任何提示在正確的方向看什麼,文件等將不勝感激。我是圖像處理新手 – Adam
您可以使用類似的for-loop代碼從文本文件重建圖像。但是,這是保存和加載您可以選擇的圖像的最低效方式。你爲什麼不以一些適當的圖像格式保存圖像? –
@SvenMarnach什麼會更有效?把像素放在一個平面陣列中?我需要所有的像素數據。我知道它效率不高,但它做我需要做的事情。我有一些這類數據的文本文件,我試圖從它重建圖像。 – Adam