/**
* @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