【matlab】拟合直线的方法

1、hough变换

图像空间–>参数空间
图像空间的点(直角坐标系) 在参数空间是一条曲线(极坐标系)
曲线:由垂直每条 过直角坐标中的点的任意斜率的直线相交,获得角度和弧长,由这些点在极坐标中形成曲线。
图像空间的一条线上的点 在 参数空间是各曲线交于一点

待更新。。。。

2、过已知点的hough变换

极坐标系和直角坐标系的换算公式如下:
16.png)
求解过程:
已知点根据自己需要设置,此处设已知点为点群的中心点(横坐标为点群横坐标的均值,纵坐标为点群纵坐标的均值);
过中心点,求出给点与中心点的连线与x轴的偏角;找出相等最多的偏角
在这里插入图片描述

xx=1:10;
Y=[2,3,6,5,8,7,5,8,9,8];
w=10;
med=round(mean(Y));   %记录这个数组的平均值
for j=1:w
   theta(j)=-atan((xx(j)-w/2)/(Y(j)-med));
end
MaxValue=mode(theta);%mode函数求矩阵某一行出现次数最多的数
ro=w/2*cos(MaxValue)+med*sin(MaxValue);
if sin(MaxValue)==0
   for x=1:w
       y(x)=ro-x*cos(MaxValue);
   end
else
   
   for x=1:w
       y(x)=(ro-x*cos(MaxValue))/sin(MaxValue);
   end
end
plot(xx,Y,'o');
hold on;
plot(xx,y);

效果图:
在这里插入图片描述

3、最小二乘法

4、稳健性回归

robustfit matlab中实现稳健回归的函数

如:b=robustfit(x_line,y_line);
输入:
x_line 点群的横坐标数组
y_line 点群中纵坐标数组
输出:
b是2x1数组,b(1)是拟合直线的截距,b(2)是拟合直线的斜率

特此申明:本文仅个人学习总结,如有总结不当还请您不吝赐教!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值