Страница 1 из 1

Сравнение попиксельно зоны рабочего стола с указанным *.bmp

Добавлено: 27 ноя 2008, 13:13
Travolta25
День добрый.
Мне надо сравнить заданную зону(область) рабочего стола попиксельно с
указанным *.bmp файлом.
Опишите пожалуйста алгоритм при котором можно произвести эту процедуру.
Желатьно с использованием ключевых операторов.
Спасибо.

Re: Сравнение попиксельно зоны рабочего стола с указанным *.bmp

Добавлено: 03 дек 2008, 10:14
somewhere
1) Захват рабочего стола в память
2) Назовем коэфф. отличия пикселов (К) разность их компонентов цвета ((R2-R1)+(G2-G1)+(B2-B1))/765. Пикселы идентичны, если К=0.
3) Повторить вычисление (2) для всех пикселов исходного и сравниваемого изображений с накоплением К (возможна целочисленная оптимизация)
4) На выходе имеем К (0 - 1) характеризующее отличие двух изображений

Если изображения не равны по габаритным размерам, то предварительно
1) Привести габаритные размеры одного из изображений (Stretch, BitBlt) к размерам изображения с минимальными шириной и высотой (при разных пропорциях и ориентациях считать площадь)

Для сравнения визульной схожести изображений также можно предварительно
1) Преобразовать изображения к формату RGB24 32x32

Re: Сравнение попиксельно зоны рабочего стола с указанным *.bmp

Добавлено: 09 дек 2008, 00:36
Travolta25
Спасибо за ответ

Re: Сравнение попиксельно зоны рабочего стола с указанным *.bmp

Добавлено: 10 май 2009, 19:19
InsiderHSE
somewhere писал(а):Назовем коэфф. отличия пикселов (К) разность их компонентов цвета ((R2-R1)+(G2-G1)+(B2-B1))/765.
Нужно брать модули или квадраты разностей, например, (|R2-R1|+|G2-G1|+|B2-B1|)/765, иначе существуют пиксели разного цвета, у которых коэффициент 0 :cool:

Re: Сравнение попиксельно зоны рабочего стола с указанным *.bmp

Добавлено: 12 май 2009, 12:08
mc-black
коэфф. отличия пикселов
Цвета двух пикселей структуры COLORREF сравнить как две переменные DWORD на равенство.

Алгоритмы поиска одного изображения в другом - четкого или приблизительного сравнения - имеют общее название "компьютерное зрение". Рекомендую погуглить.