Сравнение двух одинаковых картинок для получения значения сходства - PullRequest
3 голосов
/ 17 марта 2019

Я пытаюсь создать собственное приложение, и мне нужно сравнить две картинки.

Немного уточнения.

  • Изображение будет содержать символ, написанный налист бумаги.

  • У меня будет "Оригинальное" изображение листа бумаги с символом на нем.

  • Мне нужно сравнить зановозахваченное изображение символа на исходное изображение и определите, что, если они оба являются одним и тем же изображением одного и того же символа.

  • Недавно снятое изображение символа может быть получено под другим углом.

Я посмотрел на OpenCV и Google Vision, но я немного растерялся, как это сделать.

Мой вопрос

У меня есть "Оригинал"картинка вот так

Original

Я недавно сделал снимок с тем же символом на нем, но с другого ракурса, как этот

comparing

Мне нужно определить, являются ли они "одинаковыми" (похожими) или они разные.

Заранее благодарны.

1 Ответ

0 голосов
/ 19 марта 2019

Существует несколько способов, которыми OpenCV поддерживает сравнение двух изображений и то, насколько «похожи» эти изображения. Эти методы включают сравнение гистограмм, сопоставление с шаблоном и сопоставление объектов.

Метод сравнения гистограмм cv2.compareHist(), вероятно, является самым простым и быстрым методом, однако иногда он может быть слишком упрощенным и неточным. Другой метод - сопоставление с шаблоном cv2.matchTemplate(), который сравнивает поисковое изображение «шаблона» с целевым изображением. Этот метод хорошо работает для идентичных изображений с одинаковым размером и ориентацией, но может быть неэффективным с угловыми изображениями. Метод сопоставление объектов , вероятно, является одним из наиболее эффективных методов, поскольку извлеченные функции можно использовать для определения сходства между изображениями. Эти признаки можно распознать по повернутым или масштабированным целям, так как большая часть сходств подразумевает один и тот же объект. Эта категория может быть далее разделена на дескрипторы текстуры (HOG, LBP, Haar) и дескрипторы ключевых точек (SIFT / SURF).

Для вашего приложения я бы посмотрел на соответствие шаблона или функции, так как ваши изображения могут различаться по углу.

...