Лазерное извлечение строки данных использует грубое преобразование в Matlab - PullRequest
0 голосов
/ 26 декабря 2011

У меня есть набор данных лазерного дальномера, после преобразования в глобальный фрейм он имеет отрицательные данные и данные с плавающей запятой, например, координата xy:

x=[1.1 -2.2 3.45]
y=[0 4.67 -5.6]

как использовать преобразование Матлабаизвлечь строку?

кажется, что ввод должен быть изображением.

Ответы [ 2 ]

2 голосов
/ 26 декабря 2011

Вам не нужно преобразование Хафа.Вместо этого найдите лучшую линию, используя метод наименьших квадратов:

 p = polyfit(x,y,1);
 figure();
 scatter(x,y);
 hold on;
 plot(x,polyval(p,x));

Вы можете прочитать о наименьших квадратах здесь:
http://en.wikipedia.org/wiki/Linear_least_squares_%28mathematics%29

0 голосов
/ 23 августа 2017

В настоящее время я сталкиваюсь с подобной проблемой.Одним из методов, которые вы можете использовать для извлечения функций, является RANSAC .
При этом вы можете сопоставить некоторые линии, а затем извлечь объекты из пересечений линий.Очевидно, что этот метод лучше с большим набором данных.А с большинством лазерных дальномеров вы получаете несколько сотен очков.

...