我收到了一个包含数百张图像的文件。每个图像在白色背景上都包含一个绿色圆圈。 我需要使用 python 程序确定哪个图像包含最大直径的圆。 我相信,这些图像中的每一个都具有相同的尺寸,因此也可以通过找到绿色像素最多的图像来确定答案。我知道 scipy 可以处理图像,但是当我尝试运行以下代码时:
from scipy import misc
image=open("/Users/Myname/Desktop/greencircles/image_0.png", "r")
misc.imread(image)
...它给出错误“模块”没有属性“imread” 我的方向是正确的吗?我已经寻找了一段时间的解决方案,但没有成功。
感谢您的建议!
最佳答案
由于您拥有的只是白色区域上的绿色区域,因此您需要做的就是将非白色像素相加(对偶也可以正常工作)。这里使用 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)
关于Python-尝试找到具有最大绿色圆圈的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897325/