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

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

Ответить
Travolta25
Сообщения: 3
Зарегистрирован: 04 ноя 2008, 14:38

День добрый.
Мне надо сравнить заданную зону(область) рабочего стола попиксельно с
указанным *.bmp файлом.
Опишите пожалуйста алгоритм при котором можно произвести эту процедуру.
Желатьно с использованием ключевых операторов.
Спасибо.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

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

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

Для сравнения визульной схожести изображений также можно предварительно
1) Преобразовать изображения к формату RGB24 32x32
It's a long way to the top if you wanna rock'n'roll
Travolta25
Сообщения: 3
Зарегистрирован: 04 ноя 2008, 14:38

Спасибо за ответ
InsiderHSE
Сообщения: 1
Зарегистрирован: 07 янв 2009, 22:06

somewhere писал(а):Назовем коэфф. отличия пикселов (К) разность их компонентов цвета ((R2-R1)+(G2-G1)+(B2-B1))/765.
Нужно брать модули или квадраты разностей, например, (|R2-R1|+|G2-G1|+|B2-B1|)/765, иначе существуют пиксели разного цвета, у которых коэффициент 0 :cool:
Аватара пользователя
mc-black
Сообщения: 250
Зарегистрирован: 08 май 2008, 16:09
Откуда: Россия, Нижний Новгород
Контактная информация:

коэфф. отличия пикселов
Цвета двух пикселей структуры COLORREF сравнить как две переменные DWORD на равенство.

Алгоритмы поиска одного изображения в другом - четкого или приблизительного сравнения - имеют общее название "компьютерное зрение". Рекомендую погуглить.
На заказ: VBA, Excel mc-black@yandex.ru
Ответить