Показать сообщение отдельно
  #1  
Старый 22.06.2015, 10:45
CynicRus CynicRus вне форума
Прохожий
 
Регистрация: 26.02.2013
Сообщения: 30
Версия Delphi: Lazarus, XE 3.
Репутация: 10
По умолчанию [ Исходник ] поиск структуры на изображении

Всем привет. Выкладываю здесь, быть может кому нибудь пригодится.

И так, реализация Deformable Template Models (DTM).

Суть:
Есть главная точка, и подточки, содержащие в себе смещения до главной точки. В каждой точке содержится: x,y - коодинаты, color - цвет точки, tolerance - допустимая погрешность цвета, AreaSize - размер области. На данный момент не играет роли.

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

В принципе - ничего сложного.

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

Компиляция:
для компиляции потребуется Delphi => XE3 и Jedi VCL.

Скрин с разметкой:


Скрин с результатами поиска:


Бинарник во вложении, свежий исходный код всегда можно забрать тут:
https://github.com/CynicRus/dtmeditor/

PS: если вы нашли говнокод, у вас появились мысли по оптимизации, или просто достойная критика - с радостью всё выслушаю.
Лицензия GPL v 3.

СУВ,
Cynic.
Вложения
Тип файла: zip DtmEd09.zip (1.32 Мбайт, 7 просмотров)
Ответить с цитированием