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

标签 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” 我的方向是正确的吗?我已经寻找了一段时间的解决方案,但没有成功。

感谢您的建议!

最佳答案

由于您拥有的只是白色区域上的绿色区域,因此您需要做的就是将非白色像素相加(对偶也可以正常工作)。这里使用 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/

相关文章:

python - 如何使用 Selenium 从 devtools Network 面板中检索 "Initiator"字段?

python - While 循环不断提示用户提供正确的输入类型

python - 从 Python 中的 t 分布和自由度中查找双尾 P 值

c# - 使用c#压缩动画gif图像大小

opencv - 拼接一些图像使用JavaCV

image-processing - OpenCL 中本地内存的优势是什么?

java - 使用java在openCV中使用Mat

python - 将另一个元组添加到元组的元组中

image - “Diff” 使用 ImageMagick 的图像

php - 安全地提供图像