24小时热门版块排行榜    

查看: 754  |  回复: 1

kaywell

银虫 (小有名气)

[求助] 精度稍高的椭圆拟合算法推荐

使用了一个直接最小二乘法,和非直接最小二乘法拟合出来的椭圆精度挺低的。还不如最小二乘法的圆拟合的绝对差值小。

使用的
1:X=ell(bound)
%最小二乘法   X=[b c d e f]' f(x,y)=x^2+b*x*y+c*y^2+d*x+e*y+f

AA=[bound(:,1).*bound(:,2),bound(:,2).*bound(:,2),bound(:,1),bound(:,2),ones(length(bound),1)];

bb=-bound(:,1).*bound(:,1);

%AA'*AA*X=AA'*bb*X

X=(AA'*AA)\(AA'*bb);

a=1;b=X(1);c=X(2);d=X(3);e=X(4);f=X(5);

2。F=ellipsefit(x,y)
D1=[x.*x x.*y y.*y];
D2=[x y ones(size(x))];
S1=D1'*D1;
S2=D1'*D2;
[Q2,R2]=qr(D2,0);
T=-R2\(R2'\S2');
M=S1+S2*T;
CinvM=[M(3,: )/2; -M(2,: ); M(1,: )/2];
[V,na]=eig(CinvM);
c=4*V(1,: ).*V(3,: )-V(2,: ).^2;
A1=V(:,c>0);
F=[A1;T*A1];


请问还有什么算法精度可以再高一些呢?

[ Last edited by kaywell on 2013-2-5 at 12:01 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kaywell

银虫 (小有名气)

没人回答,自己回答一下,上面的两个代码都是代数型的最小二乘算法,只能作为几何型的最小二乘算法的初始值,几何型的最小二乘算法才是best fit.
2楼2013-03-21 13:40:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kaywell 的主题更新
信息提示
请填处理意见