嗯,用我糟糕的英语很难解释 ;)
所以,假设我有一张图像,不管是哪种(gif、jpg、png),像素大小为 200x200(总面积 40000 像素)
这张图片有背景,可以是透明的,也可以是各种颜色(但我提前知道背景颜色)。
假设在这张图片的中间,有一张图片(为简单起见,假设是一个正方形),大小为 100x100 像素(总面积为 10000 像素)。
我需要知道小方 block 在图像中所占的面积百分比。
所以,在我知道完整图像大小和背景颜色的情况下,php/python 中有一种方法可以扫描图像并检索它(简而言之,计算与给定背景不同的像素)?
在上面的例子中,结果应该是25%
编辑:这是两张图片作为示例(妨碍了 ;):
我需要知道整个图像(即 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/