Распознать нарисованную от руки форму в OpenCV
У меня есть следующая задача: распознать набор простых нарисованных от руки фигур на листе бумаги из неподвижного изображения (не видеопотока), чтобы они не были точно идентичными по пикселям.
Эти фигуры в основном являются символами для дверей, окон и т. Д. В плане этажа (см. Прилагаемое изображение), поэтому они могут быть слегка масштабированы или повернуты (с шагом 90°). Есть около 5 разных.
До сих пор я сталкивался с SIFT (и его OpenCV-вариантами SURF и ORB), а также с каскадным классификатором для распознавания подобных хаару функций.
Для SIFT, похоже, слишком мало ключевых точек в такой форме, в то время как мне не удалось заставить обученный касанию классификатор работать. Кроме того, каскадный классификатор кажется немного тяжелым для распознавания таких простых форм, не так ли?
У кого-нибудь из вас есть хорошие намеки или альтернативные подходы? Или, может быть, у вас есть фрагмент кода, который я могу использовать?
1 ответ
Я думаю, что гистограммы градиентов (HOG) должны отлично работать для таких элементов.