Компьютерное зрение. Урок 21. Поиск по контуру |
![]() |
![]() |
Автор megabax | |
20.11.2016 г. | |
Компьютерное зрение. Урок 21. Поиск по контуруЧтобы смотреть урок полностью, а также скачать исходники к уроку, подпишитесь на платный раздел. В платном разделе статья находится здесь. Итак, на прошлом уроке мы завершили тему, касающуюся выделению контуров. Начиная с урока 16 мы с вами изучили, какие требования предъявляются к алгоритмам выделения краев, изучили основные принципы алгоритма Кэнни, попытались сами построить алгоритм выделения краев (урок 17 и урок 18), на уроке 19 я рассказал о детекторе Кэнни из библиотеки OpenCV и о том, как можно улучить его работу при помощи медианной фильтрации, и наконец на уроке 20 мы все таки разработали более менее вменяемый детектор краев на языке C#, конечно, не такой хороший как Кэнни, но, взяв его исходники, и пользуясь моими уроками, при желании, вы можете его доработать. Итак, мы с вами очень много времени уделили выделению контуров. Да, действительно, это важная тема, и, чтобы ее раскрыть полностью, может понадобиться в разы больше уроков. Так как кроме выделения контуров, в компьютерном зрении есть еще много чего интересного, я все-таки закончу с этой темой и перейду к следующей, тем более, выделение краев - это только начало. Итак, мы получили контур изображения. Как нам сравнивать контуры? Попиксельно - это явно не оптимально. Но есть другая идея. ... ... ... ... Для тестирования используем вот такую тестовую картинку: И вот такой шаблон (увеличен): Если мы поставим пороговое значение 0, то программа точно найдет точное соответствие: Если порог поставить, например, 1/3 от количества точек в шаблоне, то найдет и похожие фрагменты: Теперь испытаем на фотографии дорожного знака. Вот шаблон: Здесь порога 1/3 от количества точек контура не прокатывает. Но если взять порог равный количеству точек, то находит ложные соответствия: Довольно неплохой результат дает порог 2/3 от количества точек: В заключении отмечу, что ... ... ... Также отмечу, что рассмотренный нами алгоритм сопоставления контуров далеко не единственный алгоритм поиска по контуру. Во-первых, контур можно описать различными способами: и как растровая карта, и как список координат точек, и как набор векторных примитивов, инвариантных к повороту и масштабированию. Во-вторых, описав контур в формате, инвариантном к повороту и масштабированию, мы сможем также находить на картинке объекты, которые имеют иной масштаба чем шаблон, а также повернутые. Методы представления контуров довольно обширная тема, вкратце мы ее разберем на следующем уроке.
|
|
Последнее обновление ( 20.11.2016 г. ) |
« След. | Пред. » |
---|