我有一个脚本,它列出了图像中十六进制的所有像素数据。 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