相关文章推荐
绅士的凉面  ·  qt ...·  1 月前    · 
老实的电影票  ·  Java ...·  4 月前    · 
重情义的鸵鸟  ·  DQN智能体不收敛·  8 月前    · 

在Python中把PNG文件转换为位图数组

2 人关注

我想把PNG图像转换成一个2维数组,其中每个数组持有该特定像素的RGB值的列表。如何创建一个程序来读入一个*.png文件并转换为这种类型的数据结构?

python
arrays
image
png
pixel
Troll_Hunter
Troll_Hunter
发布于 2015-07-07
3 个回答
Malik Brahimi
Malik Brahimi
发布于 2015-07-07
已采纳
0 人赞同

如果你安装了 PIL ,那么你可以用 Image.open 创建一个图像,并像这样获得颜色。

data = [image.getpixel((x, y)) for x in range(image.width) for y in range(image.height)]
    
bcdan
bcdan
发布于 2015-07-07
0 人赞同

你可以使用现有的 pygame 模块。使用 pygame.image.load 将一个文件导入 Surface 。然后你可以使用 pygame.surfarray.array2d 访问其中的位阵列。更多信息请参见Pygame文档。

notorious.no
notorious.no
发布于 2015-07-07
0 人赞同

你可以使用 wand 用于此类基本任务。 与其他ImageMagik库不同,其语法非常容易阅读。 基本上你会做这样的事情。

from wand.image import Image
from wand.display import display
array = []