光斑质心检测之曲线拟合求亚像素位置的三种方式

光斑质心检测进行图像卷积之后,需对计算结果矩阵进行曲线拟合,以求出质心的亚像素坐标。

拟合的目的在于找出图像中灰度值最高的亚像素点的位置,Xmax,Ymax;

例:对图像中相邻的三点(x1 , gray1)、(x2 , gray2)、(x3 , gray3)进行拟合,x代表横坐标值,gray代表该位置的灰度值,gray2是检测图像的最大灰度值(也就是说质心就在(x2 , gray2)这个点附近)。同理,对y坐标进行拟合类似。

方法一:抛物线拟合

Xmax = X2 - 0.5 * (gray3 - gray1) /(gray3 + gray1 - 2 gray2)

方法二:高斯拟合(高斯公式为  f(x) = a1 * exp( - ((x - b1) / c1 )^2)   )

b1 = ( (x3 * x3 - x1 * x1) * ln(gray1 / gray2) - (x2 * x2 - x1 * x1) * ln(gray1 / gray3) )  /  ( 2(x3 - x1) * ln(gray1 / gray2) - 2(x2 - x1) *  ln(gray1 / gray3) ) ;

c1 = sqrt( (x1 + x2 - 2b1 ) / (x2 - x1 ) / ln(gray1 / gray2) );

a1 = y1 / exp( - ((x1 - b1) / c1) * ((x1 - b1) / c1)  );

Xmax = b1;

这是个人计算并验证过的,如有误,欢迎讨论(只求b1即可)

方法三:一般拟合

Xmax = (gray1 * x1 + gray2 * x2 + gray3 * x3)/(gray1 + gray2 + gray3)

猜你喜欢

转载自blog.csdn.net/Mrweng1996/article/details/81474947