Forstner算子提取

本文介绍了使用Forstner算子进行兴趣点检测的过程,包括计算方差确定阈值,计算像素差值,窗口内的圆度和兴趣值评估,以及极值点判断。通过设定阈值和比较pw值,筛选出高质量的兴趣点。
摘要由CSDN通过智能技术生成
/**
 * @brief 提取Forstner算子
 * @param pBuffer 存放数据的指针
 * @param iCol,iRow,iWidth,iHeight 影像区块的起始行列号、宽高
 * @param vecForstnerPnts Forstner算子
 * @param iPointCount 提取的算子点数目
 */
bool Forstner_Operator(float *pBuffer, 
	int iCol, int iRow, int iWidth, int iHeight,
	vector<STPoint> &vecForstnerPnts, int iPointCount);

(1)计算数据的方差是否大于一定阈值(3.0),否则不存在兴趣点计算像素的和dSumPixel,像素的平方和dSquareSumPixel

方差dVar计算公式:Var(X)=E(X^2)-(E(X)^2)

float fVarThres = 3.0;
float fSum = 0.0; 
float fSquareSum = 0.0;
int iBufferSize = iWidth*iHeight;
for (int i=0; i<iBufferSize; i++)
{
	fSum += pBuffer[i];
	fSquareSum += pBuffer[i]*pBuffer[i];
}
float fVar = (fSquareSum - (fSum*fSum)/iBufferSize)/iBufferSize;
if (fVar < fVarThres)
{
	return false;
}

(2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值