Matlab椭圆拟合

Matlab椭圆拟合,第1张

设启山椭圆方程悄丛中:

P(1)*x^2+P(2)*y^2+P(3)*x*y+P(4)*x+P(5)*y+P(6)=0

则程郑仔序:

x = x(:)y = y(:)% 设x和y坐标各存于一个向量中

N = length(x)

H = [x.^2, y.^2, x.*y, x, y, ones(N,1)]

Q = (H.'*H)

[V, D] = eig(Q)

D = diag(D)

[~, ind] = sort(D)

P = V(:, ind(1))

最后就得到了长度6的参数向量P。

用的x、y的散点昌基坐标,去拟合椭圆的参数,即长半轴a、短半轴b,中心坐标(h,k)。要拟合这些参数,可以按下列步骤来实现:

首先,我们先要自定义椭圆的一般式函数,即

func=inline('(X(:,1)-a(1)).^2/a(2).^2+(X(:,2)-a(3)).^2/a(4).^2-1','a','X')

其二,根据已知的x、y的散点坐标,利用nlinfit

()非线性回归函数,拟合出a、b、h、k数值。

然后,利用得到a、皮伍b、h、k计算出拟合后的y值。

最后,用polt()函数在同一窗口绘制原始数据曲线与拟合数据曲线

运行程耐握谨序后可得到如下结果。

处理办法是有的,但比较繁琐。实施方法:

1、用SP软件或画图软件将原图片上分割成单独八个图片(图形的像素与原图片的像素应一致),分别保存八个图形文件。

2、用图形命令,提取首塌图像边缘数据

3、根据数据,利用一般式的椭圆方程

Ax²+Bxy+Cy²+Dx+Ey+F=0

拟合出斜椭圆(其方程可以查看有关资料)的系数A、B、C、D、E、F

4、重复八次,就可以得到颤此你想要的椭圆方程及图形者洞圆。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8263233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存