在 Python 中将 PNG 文件转换为位图数组
Converting PNG file to bitmap array in Python
我想将 PNG 图像转换为二维数组,其中每个数组都包含该特定像素的 RGB 值列表。如何创建一个程序来读入 *.png 文件并转换为这种类型的数据结构?
您可以使用现有的 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
它将沿着这些方向发展。离开办公室后,我会试试这个。
我想将 PNG 图像转换为二维数组,其中每个数组都包含该特定像素的 RGB 值列表。如何创建一个程序来读入 *.png 文件并转换为这种类型的数据结构?
您可以使用现有的 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
它将沿着这些方向发展。离开办公室后,我会试试这个。