Поиск:

Ответ в темуСоздание новой темы Создание опроса
> замена контура отрезками. 
:(
    Опции темы
mrgloom
Дата 16.1.2012, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



есть такие вот замкнутые контуры малой толщины.
http://rghost.ru/35931708/image.png
надо получить что то такое.
http://rghost.ru/35931710/image.png

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


PM MAIL   Вверх
_Y_
Дата 16.1.2012, 22:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Судя по картинкам, надо просто пройти по контуру, найти наиболее отдаленные друг от дрга точки, лежащие на одной горизонтали или вертикали и соединить их прямой.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
mrgloom
Дата 17.1.2012, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



да, что то я сразу не додумался.

что если более сложный случай? т.е. надо определить углы в 45 и 90 градусов наверно.
user posted image
user posted image

PM MAIL   Вверх
_Y_
Дата 17.1.2012, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Здесь, видимо, без регрессий не обойтись. Но, по любому, надо подумать.

Поэтомы сначала вопрос: На новой картинке, видимо, только правые половины контуров. Каковы левые половины; т.е. обязательно ли они симметричны правым или, например, слева могут быть углы 90, а справа 45 градусов? То же касается симметрии верх-низ. На картинке верх-низ симметричны. Так должно быть вседа или ассиметричность нормальна?


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
mrgloom
Дата 19.1.2012, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



в общем случае  линия идет как хочет под 90 и 45 градусов, контуры замкнутые и не пересекающиеся.
весь контур должен быть составлен из горизонтальных, вертикальных и линий под 45 градусов.
контуры с шумами-неровностями ,а иногда и с большими кусками неровными лишними которые тоже хотелось бы как то уметь детектировать.
случай с 45 встречается правда редко , так что можно его пока не рассматривать для простоты.

я сейчас занимаюсь тем что пытаюсь научится определять точку с которой линия начинает идти под 90 или 45 градусов.
если угол плавный и закругленный пока не работает.
PM MAIL   Вверх
Akonkagva
Дата 24.1.2012, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 4.1.2008

Репутация: нет
Всего: нет



Ммм, дорогой mrgloom, похоже что для решения вашей проблемы возможно использовать функцию http://opencv.itseez.com/doc/tutorials/img.../hull/hull.html с помощью него можно легко находить углы.

Это сообщение отредактировал(а) maxim1000 - 24.1.2012, 15:44
PM MAIL   Вверх
mrgloom
Дата 30.1.2012, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 829
Регистрация: 8.6.2011

Репутация: нет
Всего: нет



не совсем то, что нужно мне надо фигуры со сторонами ортогональными горизонтальной и вертикальной оси.

Это сообщение отредактировал(а) mrgloom - 30.1.2012, 17:09
PM MAIL   Вверх
Mirkes
Дата 1.2.2012, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 586
Регистрация: 18.8.2011
Где: Красноярск

Репутация: 4
Всего: 17



Можно глянуть в сторону методов типа метода главных компонент. 
Поясню. Берем произвольную точку. Проводим через нее горизонтальную, вертикальную и две диагональных прямых.
Далее берем некоторую окрестность (не очень большую) и считаем сумму квадратов расстояний от всех точек окрестности до этих прямых. Прямая, давшая минимум суммы является локальным апроксимантом вашего множества точек.
далее начинаем растягивать окрестность вдоль выбранной прямой до тех пор, пока удельная сумма квадратов расстояний (сумма деленная на количество точек) остается в заданных пределах. 
После завершения операции исключаем все точки из рассмотрения и повторяем процедуру.

Вроде должно сработать.

Вообще замена произвольного контура на ломанную может быть выполнена с помощью одномерных робастных эластичных карт или робастной вариации SOM.

Попробуйте. 


--------------------
Mirkes
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.