OpenCV: сравнение простых изображений с небольшой разницей

У меня есть куча "простых" изображений, и я хочу сравнить, если они похожи друг на друга. Я сравниваю их друг с другом, используя сопоставление с шаблоном cv::matchTemplate) и результаты довольно хорошие.

Теперь я хочу настроить свою программу и столкнулся с проблемой. Например, у меня есть два изображения, которые очень похожи. Единственные различия, которые у них есть, состоят в том, что другая имеет более толстую линию, а цифра перед элементом отличается. Когда оба изображения маленькие, разница в одну пиксель в толщине линий приводит к большим различиям в результатах при сопоставлении с шаблоном. Когда толщина линий одинакова, а единственная разница - передняя цифра, я получаю результат сопоставления с шаблоном, например,0.98 сCV_TM_CCORR_NORMED когда совпадение успешно. Если толщина линии различна, результат сопоставления будет примерно 0,95.

Я не могу уменьшить пороговое значение ниже 0,98, потому что некоторые другие похожие изображения имеют одинаковую толщину линий.

Вот примеры изображений:

Так что у меня есть варианты?

Я пытался

расширить оригинал и шаблонerode также обаmorphologyEx Оба вычисление ключевых точек и сравнение их поиск углов

Но пока большого успеха нет. Являются ли эти изображения слишком простыми, что трудно определить «хорошие функции

Любая помощь очень полезна.

Спасибо

РЕДАКТИРОВАТЬ

Вот еще несколько примеров изображений. То, что моя программа считает похожим, помещено в одну и ту же zip-папку. ZIP

Ответы на вопрос(3)

Ваш ответ на вопрос