Вчера на хабре появилась интересная статья про сравнение изображений — и я сразу же загорелся повторить этот алгоритм :)
Итак, идея алгоритма получения хеша изображения: 1. Уменьшить размер (), чтобы оставить только значимые объекты картинки (избавление от высоких частот).
В изображениях, высокие частоты обеспечивают детализацию, а низкие частоты показывают структуру. Большая фотография содержит много высоких частот, а маленькая картинка целиком состоит из низких.
Обработка изображений и компьютерное зрение — это очень широкое поле деятельности и самых разнообразных применений!
Например, недавно на хабре была статья "", которая рассказывает о способе показать разницу между двумя версиями картинок, используемой сервисом Github.
Самый простой вариант — это обход каждого пикселя в первой картинке и проверке, есть ли этот пиксель во второй, но Github использует т.н. режим тональной разницы — при этом, мы так же обходим каждый пиксель в двух изображениях и вычисляем их разницу по каналам RGB.
Этот метод сравнения двух фотографий выдаёт картину отличий, вполне неплохо показывая изменения.
Недолго думая, я набросал этот метод сравнения для OpenCV: