1

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

from scipy import misc

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

...它给出了错误“模块”没有属性“imread”AI 朝着正确的方向发展?我已经搜索了一段时间的解决方案,但无济于事。

感谢您的任何建议!

4

2 回答 2

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)
于 2012-12-16T00:51:11.827 回答
0

‛imread‛ 直接读取文件路径

于 2012-12-15T23:58:52.913 回答