我有一个简单的只有黑白的gif图像(比如说400x400px)。
我需要从图像中获取所有像素,并找出它们是黑色还是白色。我需要创建一个字典,里面有像素和颜色的信息。
我对python还不太熟悉,所以我有点纠结于此。但到目前为止我的剧本是这样写的:
#!/usr/bin/env python
import os
import Image
os.chdir("D:/python-projects")
aImage = Image.open("input.gif")
aPixelsBlackOrWhiteDictionary = {}
# now I need to fill the dictionary with values such as
# "X,Y": 0
# "X,Y": 1
# where X,Y are coordinates and 0/1 i the pixel color (b/w)
基本上我希望最终的字典是这样的:
"0,0" : 0 # pixel with X=0,Y=0 coordinates is black
"1,0" : 1 # pixel with X=1,Y=0 coordinates is White
编辑:
当我尝试:
print aImage[0, 0]
我得到一个错误:
Traceback (most recent call last):
File "D:\python-projects\backprop.py", line 15, in <module>
print aImage[0, 0]
File "C:\Python26\lib\site-packages\pil-1.1.7-py2.6-win32.egg\Image.py", line
512, in __getattr__
raise AttributeError(name)
AttributeError: __getitem__
尝试:
还要注意,可以使用元组作为字典键,可以使用mydict[(x,y)],而不是mydict[“x,y”]。
该像素信息已经存储在图像中,为什么要将其存储在dict中?
如果你想看看拇指是不是单核细胞增多症,你可以试试这个:
您应该使用
getpixel
,而不是使用索引运算符。注意,这可能非常缓慢。最好使用getdata
,它将所有像素作为序列返回。相关问题 更多 >
编程相关推荐