直方图统计中的极大值筛选

类似统计数据为0,1,1,2,3,2,1,1,0,0,2,3,3,5,3,5,3,0…等这样具有明显波峰的极值筛选。

//定义大小为Image.cols(主要避免越界,可随意定义)
std::vector<int> countPixel(Image.cols,0);
//由于可能存在相同的极值,所以对直方图数据进行平滑,权重和为1
const double filter[7] = {0.0536,0.1232,0.2032,0.2400,0.2032,0.1232,0.0536};
std::vector<double> countPixSmooth(countPiexl.size(),0);
for(int n = 3; n < countPiexl.size() - 3; ++i){
	countPixSmooth[n] = countPixel[n-3] * filter[0] 
	+ countPixel[n-2] * filter[1] 
	+ countPixel[n-1] * filter[2] 
	+ countPixel[n-0] * filter[3] 
	+ countPixel[n + 3] * filter[4] 
	+ countPixel[n + 3] * filter[5] 
	+ countPixel[n + 3] * filter[6];
}
//maxPiexl存放极大值
std::vector<int> maxPiexl;
for(int n = 3; n < countPixSmooth.size() - 3; ++n){
	if(countPixSmooth[n] >= countPixSmooth[n-1] 
	&& countPixSmooth[n] >= countPixSmooth[n+1]
	&& countPixSmooth[n] > countPixSmooth[n-2]
	&& countPixSmooth[n] > countPixSmooth[n+2]
	&& countPixSmooth[n] > 5){
		maxPiexl.push_back(n);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值