Сейчас на форуме: vasilevradislav (+2 невидимых)

 eXeL@B —› Оффтоп —› сравнение изображений
Посл.ответ Сообщение


Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 03 июня 2009 00:13
· Личное сообщение · #1

Народ, я наваял прогу по сравнению картинок (на делфи).
Но она долго считает - несколько часов.
Никак не могу оптимизировать через ScanLine.
Если кто готов помочь, я выложу код своей проги.
Хм..Если смогу чем-то отблагодарить, намекните))




Ранг: 81.7 (постоянный), 10thx
Активность: 0.030
Статус: Участник

Создано: 03 июня 2009 08:17 · Поправил: AVE
· Личное сообщение · #2

Стандартные модули DELPHI опроса цвета пикселей в bitmap - вещь ужасно медленная.
Попробуй внешние бесплатные модули Qpixels.

Здесь можно посмотреть www.delphimaster.ru/articles/pixels/



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 03 июня 2009 16:19
· Личное сообщение · #3

Mavlyudov пишет:
Никак не могу оптимизировать через ScanLine.

Сталкивался со сканлайном. Делал прожку для перегона изображений в ASCII.
Проблем со скоростью обращения к пикселам, не припоминаю. Сканлайн специально был сделан для того чтобы отойти от стандартных тормозных getPixel\getpoint или как их там.

А сравниваешь картинки как? Нейросеткой?
Может тормозит сам алго в сравнения (из-за неоптимальности)?

-----
Я медленно снимаю с неё UPX... *FF_User*





Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 04 июня 2009 00:18 · Поправил: Mavlyudov
· Личное сообщение · #4

AlexZ
у меня сейчас без ScanLine, а считывание по пикселям..
Через ScanLine - опять по пиксеям получается. Видимо, я не понимаю..

AlexZ пишет:
А сравниваешь картинки как? Нейросеткой?

Не очень представляю, как через нейросеть сделать...

Как сравниваю? есть большая картинка и есть кусок, вырезанный из этой картинки...
правда это прямойгольный кусок немного зашумлен (в фотошопе функцией Noise).
Нужно как-бы распознать, с какого места в большой картинке вырезана маленькая.
Я двигаля по большой кртинке и вырезал поочередно курски размером с маленькую
и сравнивал суммы разносей яркосей по этим двум областям. Та суммка, которая будет
минимальной и будет соответствовать найденной картинке внутри большой.



Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 04 июня 2009 18:14
· Личное сообщение · #5

Mavlyudov пишет:
Через ScanLine - опять по пиксеям получается.

Через сканлайн получается также по пикселям, но в десятки раз шустрее чем через методы.

Алго сравнения, если честно, г-но. Подключи математику

-----
Я медленно снимаю с неё UPX... *FF_User*



 eXeL@B —› Оффтоп —› сравнение изображений

У вас должно быть 20 пунктов ранга, чтобы оставлять сообщения в этом подфоруме, но у вас только 0

   Для печати Для печати