当前位置:文档之家› 数字图像处理算法及原理(七):最小二乘法拟合圆

数字图像处理算法及原理(七):最小二乘法拟合圆

数字图像处理算法及原理(七):最小二乘法拟合圆

最小二乘法拟合圆

最小二乘法(least squares analysis)是一种 数学 优化 技术,它通过 最小化 误差 的平方和找到一组数据的最佳 函数 匹配。 最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。 最小二乘法通常用于 曲线拟合 (least squares fitting) 。这里有 拟合圆曲线 的公式推导过程 和 matlab实现。

下面是matlab代码:

比如用其他算法(如霍夫、链码、形态学等)得到了某个圆或者近似圆的轮廓,想要将其标准化。

%%此程序用于对二值图像获得的圆形边缘进行圆拟合,计算出圆心坐标及半径

%最小二乘法进行曲线拟合

function [xc,yc,R] = cirfit(x,y)%x、y为坐标点,都是一组向量。如x=[x1,x2,x3,...,xn]

n=length(x);

xx=x.*x;

yy=y.*y;

xy=x.*y;

A=[sum(x) sum(y) n;sum(xy) sum(yy)...

sum(y);sum(xx) sum(xy) sum(x)];

B=[-sum(xx+yy) ; -sum(xx.*y+yy.*y) ; -sum(xx.*x+xy.*y)];

a=A\B;

xc = -0.5*a(1);

yc = -0.5*a(2);

R = sqrt((a(1)^2+a(2)^2)/4-a(3));

end

%结束后返回的值便是圆心坐标及半径

相关主题