Подгонка нескольких соединенных линий к точкам

У меня есть 2d-изображение, и я хочу подогнать несколько строк к объекту, который представлен этим изображением. Линии соединены и могут иметь углы только через определенные промежутки между собой. Я знаю, что вы можете подогнать одну линию к точкам данных, используя метод наименьших квадратов. Но я не знаю, как подгонять несколько соединенных прямых одновременно к точкам, соблюдая при этом интервалы углов.

Как бы вы решили эту проблему программно? Я бы также принял ответ, дав мне ключевые слова (и, возможно, ссылки), которые укажут мне на мое решение.

Вот пример изображения. Например, я мог бы захотеть подогнать 4 строки длиной x, y, z, w к объекту, представленному самым большим компонентом на изображении. К сожалению, объект не всегда так хорошо виден, как здесь, но пока этого достаточно :) введите описание изображения  здесь

Зеленые линии приблизительно соответствуют линиям, которые я искал (извините, они не очень прямые ;)).


person user1809923    schedule 10.11.2014    source источник
comment
вы можете показать изображение, о котором вы говорите?   -  person Benoit_11    schedule 11.11.2014
comment
Привет! Да, я думаю, я мог бы показать пример. К сожалению, не раньше завтрашнего дня, потому что мне нужен доступ к другому компьютеру.   -  person user1809923    schedule 11.11.2014
comment
Ага, покажи картинку!   -  person rayryeng    schedule 11.11.2014
comment
@Benoit_11, rayryeng: Добавил картинку, извините за задержку   -  person user1809923    schedule 12.11.2014


Ответы (1)


Вы можете подогнать кривую B-сплайна степени 1 к точкам данных, извлеченным из вашего изображения. Кривая B-сплайна степени 1 концептуально представляет собой композицию нескольких сегментов линии, которая соответствует тому, что вы хотите. Дополнительные угловые ограничения между линиями могут быть наложены на контрольные точки этой кривой B-сплайна степени 1, но это превратит вашу неограниченную подгонку в ограниченную, что увеличит сложность алгоритма.

person fang    schedule 12.11.2014