Python-试图找到最大绿色圆圈的图像

时间:2012-12-15 23:55:16

标签: python image image-processing python-3.x scipy

我收到了一个包含数百张图片的文件。每个图像在白色背景上包含一个绿色圆圈。 我需要用python程序确定哪个图像包含最大直径的圆。 这些图像中的每一个都具有相同的尺寸,因此我也相信,通过找到具有最多绿色像素的图像也可以确定答案。我知道scipy可以处理图像,但是当我尝试运行以下代码时:

from scipy import misc

image=open("/Users/Myname/Desktop/greencircles/image_0.png", "r")
misc.imread(image)

...它给错误“模块”没有属性“imread” 我正朝着正确的方向前进吗?我已经搜索了一段时间的解决方案现在无济于事。

感谢您的任何建议!

2 个答案:

答案 0 :(得分:1)

由于您拥有的只是白色区域上的绿色区域,所以您需要做的就是将非白色像素相加(双重也可以正常工作)。在这里使用scipy也没什么意义,PIL就够了,颜色在你的任务中也不重要。假设典型的颜色范围为[0,255]:

from PIL import Image, ImageOps

x = ImageOps.grayscale(Image.open('input.png'))
print sum(1 for xi in x.getdata() if xi != 255)

答案 1 :(得分:0)

直接

'imread'文件路径