椭圆曲线拟合以及坐标扶正

拟合椭圆更一般就是对圆锥曲线拟合,椭圆、双曲线、抛物线区在方程中区别在于偏心率同“ 1 ”的比较。下文对于椭圆的拟合,可以更一般的推广到其它圆锥曲线的拟合中去。

在二维平面 xy 坐标系中有一离散的点集 i =0,1,2,3…n- 1 ,这 n 个点分布在椭圆曲线方程 上,其中 为点与拟合的期望方程 的偏差。

xy 坐标系中,椭圆方程的基本形式是:

证明如下:

圆锥曲线上的每一点 与曲线外的某点 的距离,与其到某直线 l : 的距离之比为常数 ,偏心率的大小也就决定了圆锥曲线的类型。那么有: ;

 

 

等价 ;

所以圆锥曲线满足形式: 。证毕

曲线的拟合方程的原则是:

, , , , 之间线性无关,所以可以使问题转化为最小二乘线性拟合问题,如下:

= ;

 

 


= ;

= ;

有: ;

为了得到系数矩阵 X ,使得曲线方程 ,对期望求导,得到最小二乘的矩阵表达式: ,点集的数量 n 大于 5 时,得到矩阵 2 范数为距离度量规则的最小解。当 可逆时

MATLAB 代码:

function [F]=ellipsefit(X,Y)

X=X';

Y=Y';

M=[X.^2,Y.^2,X.*Y,X,Y];

temp=M'*M;

temp=inv(temp);

n=size(X,1);

F=temp*M'*ones(n,1);

end

Position: (-3.8 ,-1) (-4.5     ,3.27) (0.7701,-0.084) (-1.32,-2.19) (-4,0.05) (1.054,3.32)                      (-0.9196,6.8342) (-3.59,6.17);

Return F:  F =[ 0.3008 ,0.1097,0.0154,0.9925,-0.4985];


椭圆方程拟合结束后,对于图像处理来说,通常需要把其“扶正”。

可以通过 xy 坐标系旋转来扶正,椭圆方程: ,改写成矩阵形式: ,其中

对其扶正,也就是寻找旋转矩阵 ,使得 ,以使椭圆可以表达为如下形式:

 

 

 

 

 

 

求解如下:

寻找 使正交阵 P 满足: ;而由对称关系得出:


                     ;

再而求得 ,这便是坐标轴扶正所需旋转的角度的正切值。

由上文中拟合的的数据可以得到


以上便是圆锥曲线拟合和扶正的全过程。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值