Распознавание / обнаружение объектов (штампов) OpenCV

Добрый день! Просто извините за мой английский.

Есть несколько образцов (эталонов) марок разных фирм. И есть тестовые изображения — фотографии документов, на которых могут присутствовать эти штампы. Необходимо определить, есть ли на снимке документ или этот штамп (ссылка). Марки можно вращать.

Выполнение аналогичного задания с обычными эталонами (героями мультфильмов), находит добро. Но с марками проблема, вероятно, связана с тем, что они очень похожи — кругом.
Использовать SurfFeatureDetector, SurfDescriptorExtractor

Может быть, стоит другой детектор и дескриптор?
Спасибо.

2

Решение

Если размер штампа слишком мал по сравнению с основным изображением, используйте SURF один дескриптор не может быть осуществимым выбором.

Поскольку у вас есть конечное число контрольных изображений марок, вы можете попробовать template matching и после обнаружения области штампа и вычисления ориентации вы можете просто вычислить корреляции со ссылками и выбрать самую высокую корреляцию в качестве обнаруженного объекта.

Операция сопоставления с шаблоном может применяться к каждому каналу RGB (при условии цветного изображения), и результаты сопоставления могут суммироваться как окончательное решение. Тем не менее, более сложная часть заключается в обнаружении марок и их ориентации.

Вы также можете использовать ключевые точки SURF на 3 каналах RGB отдельно, чтобы использовать информацию о цвете. После извлечения ключевых точек для каждого канала вы можете рассчитать оценки соответствия по отдельности и суммировать три оценки, чтобы получить окончательное решение.

В качестве еще одной функции вы можете использовать расчет color histograms контрольных изображений и во время тестирования, вы можете сравнить эти гистограммы, чтобы найти хорошее соответствие. Эта функция не зависит от ротации и проста в расчете.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]