Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как быстрее всего сравнить два ричунка


Реактор ©   (2009-09-12 18:48:00) 

Есть два объекта Image. Необходимо сравнить их рисунки. Понятное дело что if Image1 <> Image2 не прокатит. Существует ли решение, что бы не проверять каждый пиксель в отдельности?


Германн   (2009-09-13 01:11:00) [1]

Судя по сабжу речь не идет о сравнении изображений.


Омлет   (2009-09-12 23:46:00) [2]

Но, естественно, попиксельно сравнивать нужно не через Canvas.Pixels, а через прямое чтение памяти. Например http://www.delphimaster.ru/articles/pixels/index.html. И статистически выгоднее начинать сравнение из средней строки, синхронно расходясь вверх и вниз.


Омлет   (2009-09-12 23:37:00) [3]

Всё же, правильнее сравнивать попиксельно, т.к. два изображения с разным bpp могут быть абсолютно одинаковы по цветам.
И потом к такому методу лекго прикрутить нечеткое сравнение.


KilkennyCat   (2009-09-12 20:27:00) [4]


> TIF © (12.09.09 19:30) [5]

пиксели, байты... это все одно и тоже, масляное масло.


Реактор   (2009-09-12 19:54:00) [5]

Спасибо


TIF   (2009-09-12 19:48:00) [6]

> как им пользоваться?

F1
http://infodelphi.ru/Help/RADStudio/en/SysUtils.CompareMem.html

+ Google, вот первая ссылка из результатов поиска, например
http://helloworld.ru/texts/comp/lang/delphi/delphi5/mem/mem5103.htm


Реактор   (2009-09-12 19:40:00) [7]


> Точное сравнение - CompareMem.


А можно поподробнее как им пользоваться?


TIF   (2009-09-12 19:30:00) [8]

> не перебирая все элементы?

Я про
Чтобы не проверять пиксели
И предлагаю считать контрольную сумму байтовизображений


Юрий Зотов   (2009-09-12 19:25:00) [9]

Точное сравнение - CompareMem.


KilkennyCat   (2009-09-12 19:23:00) [10]


> Высчитай контрольные суммы

Контрольная сумма высчитывается не перебирая все элементы?


TIF   (2009-09-12 19:20:00) [11]

Чтобы не проверять пиксели? Высчитай контрольные суммы (хеши) и сравнивай их

Попиксельное же сравнение проще некуда:
http://delphimaster.net/view.php?folder=59&file=18-1225095501


KilkennyCat   (2009-09-12 19:15:00) [12]

Существует решение, оценивающее похожесть. Недавно в америкосовском фильме видел. Там очень быстро, умудряясь при этом показывать все перебираемые варианты, нашло фото в анфас по фото в профиль. Возможно, на сайте голливуда есть исходники.

Встречный вопрос: как доказать равенство массивов, не перебирая все элементы?


Наверх

Титульная страница Поиск, карта сайта Написать письмо