Распознать нарисованную от руки форму в OpenCV

У меня есть следующая задача: распознать набор простых нарисованных от руки фигур на листе бумаги из неподвижного изображения (не видеопотока), чтобы они не были точно идентичными по пикселям.

Эти фигуры в основном являются символами для дверей, окон и т. Д. В плане этажа (см. Прилагаемое изображение), поэтому они могут быть слегка масштабированы или повернуты (с шагом 90°). Есть около 5 разных.

До сих пор я сталкивался с SIFT (и его OpenCV-вариантами SURF и ORB), а также с каскадным классификатором для распознавания подобных хаару функций.

Для SIFT, похоже, слишком мало ключевых точек в такой форме, в то время как мне не удалось заставить обученный касанию классификатор работать. Кроме того, каскадный классификатор кажется немного тяжелым для распознавания таких простых форм, не так ли?


У кого-нибудь из вас есть хорошие намеки или альтернативные подходы? Или, может быть, у вас есть фрагмент кода, который я могу использовать?

Символ для двери

1 ответ

Я думаю, что гистограммы градиентов (HOG) должны отлично работать для таких элементов.

Другие вопросы по тегам