Страница 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

Re: Сравнение попиксельно зоны рабочего стола с указанным *.bmp
Добавлено: 12 май 2009, 12:08
mc-black
коэфф. отличия пикселов
Цвета двух пикселей структуры COLORREF сравнить как две переменные DWORD на равенство.
Алгоритмы поиска одного изображения в другом - четкого или приблизительного сравнения - имеют общее название "компьютерное зрение". Рекомендую погуглить.