获取某种颜色在图片中所占的比例

本文介绍了一种图片处理算法,用于找出图片中与指定颜色相近的所有像素,并计算这些像素在整张图片中所占的比例。该算法适用于估算特定颜色区域的大小,如评估绿地在照片中的覆盖范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  如何在一张图片中找到与自己想要的颜色值最相近的颜色,并且求出这些颜色在整张图片中所占的比例。比如对着一片绿地拍了一张照片然后想要查看一下那片绿地在整张照片中的范围,大概估算一下绿地的面积等等类似的场景。虽然不一定准确但是还是会有一定的参考价值。
核心算法代码:

/*
init_red, init_green, init_blue --- 需要查找到的颜色值
red, green, blue --- 图片中的颜色值
deffirence --- 容差(需要的颜色值和需要的颜色值的容差)
*/
bool magic_pixel(BYTE init_red, BYTE init_green, BYTE init_blue,  BYTE red, BYTE green, BYTE blue, int deffirence){
	if( deffirence > Max(abs(init_red - red), abs(init_green - green), abs(init_blue - blue))){
		return true;
	}else{
		return false;
	}
}

原图:
这里写图片描述

软件处理:
这里写图片描述

效果图:
这里写图片描述

  以上可以看到我是选取了云彩的颜色然后经过处理后,与乌云颜色容差较大的绿地的色彩被过滤掉了。可以看到图片上面显示了,与我选择的乌云的颜色相近的颜色值占整张的面积是69.12%。

环境:Win8.1 + VS2008 + CxImage

源码下载地址

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wb175208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值