在.pgm图像中提取颜色的最快方法?
-
02-10-2019 - |
题
我有一百架128 x 128 .pgm文件,上面有一些形状,我认为它们的颜色尺度为255(虽然不确定这个形状,所以如果解决方案也可以考虑到这一点)和我需要提取这些颜色来处理图像。因此,我想最终得到的是一个128 x 128矩阵,每个元素的值在0-255之间,假设256颜色示例。
至于语言,Python/Java/c#中的任何内容都可以按照此顺序进行。我可以使用Windows或Linux,因此独家库不是问题。
解决方案
就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)
其他提示
p 可观 G 射线 m AP 格式是如此微不足道,以至于我认为自己用任何需要的语言为PGM文件编写解析器。从PGM文件读取的每个值都对应于RGB
255*Value/Max_Value字节。
祝你好运。
不隶属于 StackOverflow