【matlab】拟合直线的⽅法
1、hough变换
图像空间–>参数空间
图像空间的点(直⾓坐标系) 在参数空间是⼀条曲线(极坐标系)
曲线:由垂直每条 过直⾓坐标中的点的任意斜率的直线相交,获得⾓度和弧长,由这些点在极坐标中形成曲线。
图像空间的⼀条线上的点 在 参数空间是各曲线交于⼀点
待更新。。。。
2、过已知点的hough变换
极坐标系和直⾓坐标系的换算公式如下:
求解过程:
已知点根据⾃⼰需要设置,此处设已知点为点的中⼼点(横坐标为点横坐标的均值,纵坐标为点纵坐标的均值);过中⼼点,求出给点与中⼼点的连线与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);
如何用matlab将已知点连线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、稳健性回归
matlab中实现稳健回归的函数
如:b=robustfit(x_line,y_line);
输⼊:
x_line 点的横坐标数组
y_line 点中纵坐标数组
输出:
b是2x1数组,b(1)是拟合直线的截距,b(2)是拟合直线的斜率
特此申明:本⽂仅个⼈学习总结,如有总结不当还请您不吝赐教!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论