Добрый день! Просто извините за мой английский.
Есть несколько образцов (эталонов) марок разных фирм. И есть тестовые изображения — фотографии документов, на которых могут присутствовать эти штампы. Необходимо определить, есть ли на снимке документ или этот штамп (ссылка). Марки можно вращать.
Выполнение аналогичного задания с обычными эталонами (героями мультфильмов), находит добро. Но с марками проблема, вероятно, связана с тем, что они очень похожи — кругом.
Использовать SurfFeatureDetector, SurfDescriptorExtractor
Может быть, стоит другой детектор и дескриптор?
Спасибо.
Если размер штампа слишком мал по сравнению с основным изображением, используйте SURF
один дескриптор не может быть осуществимым выбором.
Поскольку у вас есть конечное число контрольных изображений марок, вы можете попробовать template matching
и после обнаружения области штампа и вычисления ориентации вы можете просто вычислить корреляции со ссылками и выбрать самую высокую корреляцию в качестве обнаруженного объекта.
Операция сопоставления с шаблоном может применяться к каждому каналу RGB (при условии цветного изображения), и результаты сопоставления могут суммироваться как окончательное решение. Тем не менее, более сложная часть заключается в обнаружении марок и их ориентации.
Вы также можете использовать ключевые точки SURF на 3 каналах RGB отдельно, чтобы использовать информацию о цвете. После извлечения ключевых точек для каждого канала вы можете рассчитать оценки соответствия по отдельности и суммировать три оценки, чтобы получить окончательное решение.
В качестве еще одной функции вы можете использовать расчет color histograms
контрольных изображений и во время тестирования, вы можете сравнить эти гистограммы, чтобы найти хорошее соответствие. Эта функция не зависит от ротации и проста в расчете.
Других решений пока нет …