最小二乘法拟合圆

一、说明

输入:二维点集(X1,Y1),...,(Xn,Yn)

输出:圆的方程 X^{2}+Y^{2}+AX+BY+C=0 中参数A,B,C

解:

\begin{bmatrix} \sum Xi & \sum Yi & N \\ \sum XiYi & \sum Yi^{2} & \sum Yi \\ \sum Xi^{2} & \sum XiYi & \sum Xi \end{bmatrix} \begin{bmatrix} A \\ B \\ C \end{bmatrix} = \begin{bmatrix} - \sum Xi^{2} - \sum Yi^{2} \\ - \sum Xi^{2}Yi - \sum Yi^{3} \\ - \sum Xi^{3} - \sum XiYi^{2} \end{bmatrix}

 

二、代码

% 最小二乘法拟合圆 X*X+Y*Y+AX+BY+C=0  v=[A,B,C]'
clear all;
clc;
X = [1.0, -1.0, 0.0, 0.0, 0.5, -0.5];
Y = [0.0, 0.0, 1.0, -1.0, 0.866, -0.866];
N = length(X);
Xsum = sum(X);
Ysum = sum(Y);
XXsum = dot(X, X);
XYsum = dot(X, Y);
YYsum = dot(Y, Y);
XX = X .* X;
YY = Y .* Y;
XXXsum = dot(XX, X);
XXYsum = dot(XX, Y);
YYYsum = dot(YY, Y);
XYYsum = dot(X, YY);
M = [Xsum, Ysum, N; XYsum, YYsum, Ysum; XXsum, XYsum, Xsum];
u = [-XXsum-YYsum, -XXYsum-YYYsum, -XXXsum-XYYsum]';
v = M^(-1) * u;

三、参考

参考:数字图像处理算法及原理(七):最小二乘法拟合圆_余额为0_新浪博客

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值