php - 如何检测图像中的 'image area' 百分比?

标签 php python web-applications image-processing image-manipulation

嗯,用我糟糕的英语很难解释 ;)

所以,假设我有一张图像,不管是哪种(gif、jpg、png),像素大小为 200x200(总面积 40000 像素)

这张图片有背景,可以是透明的,也可以是各种颜色(但我提前知道背景颜色)。

假设在这张图片的中间,有一张图片(为简单起见,假设是一个正方形),大小为 100x100 像素(总面积为 10000 像素)。

我需要知道小方 block 在图像中所占的面积百分比。

所以,在我知道完整图像大小和背景颜色的情况下,php/python 中有一种方法可以扫描图像并检索它(简而言之,计算与给定背景不同的像素)?

在上面的例子中,结果应该是25%

编辑:这是两张图片作为示例(妨碍了 ;):

alt text

alt text

我需要知道整个图像(即 400x400)中青椒的百分比

最佳答案

from PIL import Image
image = Image.open("pepper.png")
bg = image.getpixel((0,0))
width, height = image.size
bg_count = next(n for n,c in image.getcolors(width*height) if c==bg)
img_count = width*height - bg_count
img_percent = img_count*100.0/width/height

对两张图片给出 7.361875

关于php - 如何检测图像中的 'image area' 百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2428916/

相关文章:

php - MySQL 无法使用 PHP 连接到本地主机上的服务器

php - 从 PHP/Apache 返回 100-Continue

python - 在 Python 中搜索文本文件并打印相关行?

java - 用java发送短信

php - 我应该如何为 CodeIgniter 选择身份验证库?

php - 将自定义字段添加到结帐和注册时的 my_account 用户详细信息

python Pandas : transform x-y-list to x-y-coordinate system

python - pySQLite 集成到 pyGtk TreeView

asp.net - 如何在 IIS 中部署 .NET Web 项目

java - 使用 Java 开发 Web 和 Android 客户端应用程序