gpt4 book ai didi

两个自变量(x,y 坐标)的带约束条件的 Matlab 最小二乘近似

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:58 25 4
gpt4 key购买 nike

我有几张室外路径的二值图像,需要得到道路的精细轮廓,但是,由于仍然存在嘈杂的像素,我无法追踪道路的准确轮廓。我用 Matlab 中的 houghlines 函数计算了起点和终点之间的中点,并且已经能够将道路的左点和右点分开。所以,我的想法是拟合左右点的线性近似值,这样我就可以去除两侧的噪声像素并干净地分离出道路区域。

Examples of good and bad line fits of left and right sides of two roads

问题:正如您在图片中看到的那样,拟合的直线不沿着分散的 (x,y) 点(红色)的最长轴,因此拟合不佳。道路的某些侧面非常适合。 polyfitn 的输出近似值或 polyfit 函数从较短的散点区域开始。我找到了几个带有约束(开始和结束)的最小二乘近似的代码示例,但仅找到了 1D 自变量类型问题的示例。

这是我用来生成输出的 Matlab 代码。

imshow(binarizedimage320x240);        % Binary 320x240 image
rightPoints % show rightPoint (x,y) coordinates from Hough Transform lines

sizeRt = size(rightPoints, 1);
x = zeros(sizeRt, 1);
y = zeros(sizeRt, 1);

for k = 1:sizeRt
x(k) = rightPoints(k,1);
y(k) = rightPoints(k,2);
end
x % show x values
y % show y values


% Linear fitting
p = polyfitn(x,y,'constant x+y') % show p
xi = 1:2:300;
yi = polyvaln(p, xi);

plot(x, y, 'ro', xi, yi, 'b-', 'LineWidth', 3);

变量:

rightPoints =
205.0000 108.0000
205.0000 162.5000
205.0000 276.0000
229.0000 123.5000
229.0000 254.5000
204.0000 87.5000
215.0000 265.0000
216.0000 121.0000
216.0000 255.0000
x =
205
215
216
229
205
229
216
205
204
y =
276.0000
265.0000
255.0000
254.5000
162.5000
123.5000
121.0000
108.0000
87.5000
p =
ModelTerms: [2x1 double]
Coefficients: [-152.6022 1.5730]
ParameterVar: [3.7729e+05 8.2396]
ParameterStd: [614.2421 2.8705]
R2: 0.0411
AdjustedR2: -0.0958
RMSE: 71.6719
VarNames: {'x+y'}

任何帮助将不胜感激。谢谢。

最佳答案

看起来你可能会找到 PEaRL Isack 和 Boykov 适用于您的问题。
论文中提出的算法制定了一种能量最小化方法,可以在嘈杂的场景中同时拟合多个几何模型(理论上优于 Hough 或 Ransac)。
我也相信他们有可用的代码 here .

关于两个自变量(x,y 坐标)的带约束条件的 Matlab 最小二乘近似,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com