【发布时间】:2015-09-23 23:37:24
【问题描述】:
我想将 PNG 图像转换为二维数组,其中每个数组都包含该特定像素的 RGB 值列表。如何创建一个程序来读入 *.png 文件并转换为这种类型的数据结构?
【问题讨论】:
标签: python arrays image png pixel
我想将 PNG 图像转换为二维数组,其中每个数组都包含该特定像素的 RGB 值列表。如何创建一个程序来读入 *.png 文件并转换为这种类型的数据结构?
【问题讨论】:
标签: python arrays image png pixel
您可以使用现有的pygame 模块。使用pygame.image.load 将文件导入Surface。然后,您可以使用pygame.surfarray.array2d 从中访问位数组。请参阅 Pygame 文档了解更多信息。
【讨论】:
如果您安装了PIL,那么您可以使用Image.open 创建图像并获得如下颜色:
data = [image.getpixel((x, y)) for x in range(image.width) for y in range(image.height)]
【讨论】:
您可以将wand 用于此类基本任务。与其他 ImageMagik 库不同,该语法非常易于阅读。基本上你会做这样的事情:
from wand.image import Image
from wand.display import display
array = []
with Image(filename='yourfile.png') as img:
array.append(img.channel_images) # this is most likely wrong, but it should be something similar
它将沿着这些思路。离开办公室后,我会尝试一下。
【讨论】: