Сравнение двух изображений визуально - PullRequest
3 голосов
/ 05 декабря 2011

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

Image 1

Image 2

Эти два изображения одинаковы для глаз, но одно имеет немного разные цвета.Я попробовал следующий пример:

http://www.vb -helper.com / howto_net_image_compare_threshold.html

К сожалению, кажется, что он обнаруживает только тогда, когда изображения идентичны.Как определить, совпадают ли изображения в пределах определенного порога, с помощью VB.NET?

Ответы [ 2 ]

4 голосов
/ 05 декабря 2011
  1. Изменение размера обоих изображений до одинакового небольшого размера, например 16x12 или 90x60 (в зависимости от вашего порога).
  2. Уменьшить глубину цвета до 4 или 8 бит на пиксель (без палитры). Для этого вы можете использовать функцию постеризации.

Затем посмотрите, не являются ли два меньших изображения дубликатами. Если это так, оригиналы должны быть довольно близко.

0 голосов
/ 05 декабря 2011
  • Разделить изображение на R, G, B
  • Для каждого цвета:
    • Для каждого (x, y):
      • Умножить пиксель изображения 1с пикселем изображения 2
    • Суммируйте все значения пикселей
  • Суммируйте 3 значения для каждого цвета

Это корреляция между двумя изображениями.Чтобы получить значение от 0 до 1, сначала вычислите корреляцию изображения с самим собой, чтобы увидеть, каково наилучшее возможное значение, затем выполните корреляцию изображения 1 с изображением 2 и разделите на наилучшее возможное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...