сравнение изображений
От: LoR Россия  
Дата: 02.08.03 13:56
Оценка:
подскажите алгоритм сравнения двух изображений...
главное — скорость....
бобитовое сравнение никак не устраивает...
Re: сравнение изображений
От: Аноним  
Дата: 02.08.03 14:01
Оценка:
Здравствуйте, LoR, Вы писали:

LoR>подскажите алгоритм сравнения двух изображений...

LoR>главное — скорость....
LoR>бобитовое сравнение никак не устраивает...

Возможно сравнение гистограмм интенсивностей для полутоновых изображений
или цветовых гистограмм для цветных изображений. В целях сравнения
три цветовые гистограммы можно объединить в одну. Гистограммы можно
строить не по всему изображению, а по какой-то области интереса.
Re: сравнение изображений
От: BUran Россия http://www.buriy.com/
Дата: 02.08.03 16:35
Оценка:
Здравствуйте, LoR, Вы писали:

LoR>подскажите алгоритм сравнения двух изображений...

LoR>главное — скорость....
LoR>бобитовое сравнение никак не устраивает...

Подождите, что значит побитовое?

В каком случае изображения признаются одинаковыми/разными/наполовину совпадающими?

Правильно заданный вопрос — половина ответа
/bur
Re[2]: сравнение изображений
От: LoR Россия  
Дата: 02.08.03 21:05
Оценка:
Здравствуйте, BUran, Вы писали:

BU>Подождите, что значит побитовое?

BU>В каком случае изображения признаются одинаковыми/разными/наполовину совпадающими?

соглашусь... наврал малость... не устраивает последвательный перебор двух изображений как пиксельных массивов.

BU>Правильно заданный вопрос — половина ответа


необходимо с течением времени удаленно отслеживать изменения десктопа... т.е. движения мыши, изменения в окнах и т.д.
решение, которое есть сейчас, так это разбиение "скриншота" на части, вычисление crc каждой, соответсвенно сравнение с crc предыдущего "скриншота"... это если не вдаваться в подробности...

может есть что-то лучшее? если бы пример какой, то было бы просто прекрасно...
Re[3]: сравнение изображений
От: BUran Россия http://www.buriy.com/
Дата: 03.08.03 14:18
Оценка:
Здравствуйте, LoR, Вы писали:

LoR>Здравствуйте, BUran, Вы писали:


BU>>Подождите, что значит побитовое?

BU>>В каком случае изображения признаются одинаковыми/разными/наполовину совпадающими?

LoR>соглашусь... наврал малость... не устраивает последвательный перебор двух изображений как пиксельных массивов.


BU>>Правильно заданный вопрос — половина ответа


LoR>необходимо с течением времени удаленно отслеживать изменения десктопа... т.е. движения мыши, изменения в окнах и т.д.

А почему бы просто на сообщения не вешаться? Зачем через одно место все делать?

LoR>решение, которое есть сейчас, так это разбиение "скриншота" на части, вычисление crc каждой, соответсвенно сравнение с crc предыдущего "скриншота"... это если не вдаваться в подробности...


Так, как я понимаю, если все точки не проглядывать, то где находится мышка — никак почти не угадать. Так?
Тогда части экрана все-таки надо проверять. Только вопрос какие области, когда и т.п.
Вот это и надо продумать. Ведь просто просматривать весь экран — не проблема. Проблема делать это очень часто.
А какой framerate желателен?

LoR>может есть что-то лучшее? если бы пример какой, то было бы просто прекрасно...

Сообщения. И хуки (hooks). Примеры есть в RSDN/статьи/базовые сервисы/хуки.
Или это не винда?
/bur
Re[3]: сравнение изображений
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.08.03 15:19
Оценка: 2 (1) +1
Здравствуйте, LoR, Вы писали:

LoR>необходимо с течением времени удаленно отслеживать изменения десктопа... т.е. движения мыши, изменения в окнах и т.д.

LoR>решение, которое есть сейчас, так это разбиение "скриншота" на части, вычисление crc каждой, соответсвенно сравнение с crc предыдущего "скриншота"... это если не вдаваться в подробности...

LoR>может есть что-то лучшее? если бы пример какой, то было бы просто прекрасно...

У тебя ровно два варианта:
1. Производить сравнение. Очевидно, что в любом случае придется перечитывать каждый пиксел картинки. Потому, что изменение могло произойти ровно в одном пикселе. Все. Дальнейшие упражнения типа вычисления CRC или еще чего помогут только сэкономить место в памяти, но никак не производительность — все определяется количеством чтений пикселов.
2. Перехватывать изменения. Поищи на RSDN (у меня сейчас недоступен инет) статьи про перехват вызовов API. Тебе надо будет перехватить вызовы GDI и изменения положения мыши (это вообще можно делать просто по таймеру). Все.
... << RSDN@Home 1.1 alpha 1 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.