![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| fridrih777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Здрасте. Вопросик появился.Как можно сравнить две картинки на цветовую гамму. Т.е. к примеру
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Сравни попиксельно. А вообще у них разный размер, они хотябы по этому разные -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| fridrih777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
Ну это я просто пример привёл. А по пиксельно это т.е. к примеру у меня 2 изображения 320*240 то программа должна сравнить каждый пиксель? тяжко!!! Хорошо а как прмерно это можно реализовать?Спасибо! |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
fridrih777, через Canvas.Pixels.
|
|||
|
||||
| fridrih777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 23.12.2007 Репутация: нет Всего: нет |
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Это слишком медленно. BitMap.Scanline[] - возвращает указатель на строку битмапки. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Alexeis, согласен. Но это, имхо, сложнее.
|
|||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Добавлено через 2 минуты и 50 секунд b2.PixelFormat := pf32bit; - так мы конвертируем битмап в дибсекцию, иначе не видать нам прямого доступа к памяти картинки. CompareMem - сравнивает побитно 2 участка памяти. Добавлено через 6 минут и 36 секунд THandle, Pixels - это мелкомягкий изврат поддержанный борладном, который годиться только для -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| casinosoftguru |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 22.12.2008 Репутация: нет Всего: нет |
1. Я археолог
2. Копаю по сабжу, сам юзаю этот метод, идеально работает для идеально точных изображений, а я ищу процентное сравнение
Это сообщение отредактировал(а) casinosoftguru - 29.12.2008, 05:26 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Процент подразумевает соотношение двух параметров, т.е. это относительная характеристика. Отношение чего к чему нужно получить? Есть разные методики анализа, попиксельные, можно разложить по кусочкам в фурье и сравнивать ненулевые коэффициенты, можно воспользоваться вейвлет преобразованием и сравнивать коэффициенты вейвлет преобразования, можно задействовать нейронные сети для анализа похожести фрагментов. Вариантов много, они разные по сложности, эффективности, надежности. С разных сторон характеризуют похожесть. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Predator_2004 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
Есть еще вариант: если файлы имеют равный объем, тогда открыть оба файла в байтовом режиме и сложить байты обоих файлов по модулю два. Если на выходе ноль-файлы равны.
|
|||
|
||||
| restor999 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.1.2009 Репутация: нет Всего: нет |
Что то я не пойму! |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
restor999, это же пример. Он тупо создает 2 пустых битмапа в одном рисует точку по серединке, а дальше сравнивает растры в памяти.
Если точка есть то пишет "различные", если точку не ставлю, то пишет "одинаковые". Для реальных картинок нужно сначала загрузить, а затем точно также сравнить при помощи CompareMem -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| restor999 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.1.2009 Репутация: нет Всего: нет |
Alexeis, а можешь подсказать код на 2 компонента Image (обработчик события нажатие кнопки(onclick)( Что бы он картинки в двух этих компанентах сравнивал)??? подскажи код пожалуйста!
|
|||
|
||||
| Proxin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 363 Регистрация: 21.6.2008 Репутация: 1 Всего: 3 |
о, спасибо. помогли.
Это сообщение отредактировал(а) Proxin - 7.3.2010, 10:34 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |