从.pgm图像中提取颜色位的最快方法?
我有一百个128 x 128的.pgm文件,上面有一些形状。我觉得它们的颜色范围是255(不过我不太确定,所以如果解决方案能考虑到这一点就更好了)。我需要提取这些颜色来处理这些图像。最终我想得到的是一个128 x 128的矩阵,每个元素的值在0到255之间,假设有256种颜色。
至于编程语言,Python、Java和C#都可以,最好是按这个顺序来。我可以使用Windows或Linux,所以不需要担心特定的库。
2 个回答
0
P 可移植 灰度 M 图格式 非常简单,我认为自己用任何你需要的编程语言写一个解析 pgm 文件的程序是一种荣誉。每个从 PGM 文件中读取的值都对应一个 RGB
255*Value/Max_Value字节。
祝你好运。
1
关于Python的解决方案,我认为PIL支持.pgm文件。如果你使用numpy作为数组容器,这部分是可选的:
(编辑:重新读了你的问题,意识到你特别想要灰度图,而不是RGB... 其实从.pgm格式我就应该想到这一点...)
import Image
import numpy as np
im = Image.open('test.pgm')
# Convert to grayscale (single 8-bit band), if it's not already...
im = im.convert('L')
# "data" is a uint8 (0-255) numpy array...
data = np.asarray(im)