如何读取图像数据?

时间:2014-09-05 03:26:30

标签: python image-processing

我想创建一个只接收黑白图块的应用程序。白色瓷砖意味着您可以移动的空间,而黑色瓷砖将是您无法移动的空间(可能是墙)

在这张图片中,我想定义一个起点和一个目标点(可能有不同的颜色,红色和黄色),所以我可以研究寻路问题

如何阅读图像并处理其中的信息?

就像那样:enter image description here

我可以在图片中定义墙壁,起点,目标点,并且我想要阅读它的数据。我怎么能在python中做到这一点?

2 个答案:

答案 0 :(得分:3)

您可以使用许多SciPy library附带的image processing tools

from scipy import misc
img = misc.imread("lena.bmp")

您可以轻松访问像素,例如在第10行和第15行:

print img[10, 15]

输出:

[188 101  71]

(在本例中,我使用" Lena"来自here的测试图像。)


根据图像格式,您可能希望将其从RGB彩色图像转换为灰度图像:

img = img.mean(axis = 2)
print img[10, 15]

输出:

120.0

如果您需要将uint8像素值缩放到范围[0..1]:

img = (img / 255).round()
print img[10, 15], img[10, 6]

输出:

0.0 1.0

答案 1 :(得分:0)

您可以使用PIL库中的Image模块(您需要安装),然后执行以下操作:

from PIL import Image
img = Image.open("PATH TO IMAGE", "MODE (probably 'r')")
pixel = image.getpixel((x,y))

x,y是像素坐标,您可以获得该像素的颜色。