ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

C# Сравнение двух картинок
  #1  
Старый 06.06.2010, 20:52
Аватар для noxjoker
noxjoker
Познающий
Регистрация: 07.08.2009
Сообщений: 85
Провел на форуме:
705829

Репутация: 53
Отправить сообщение для noxjoker с помощью ICQ
Question C# Сравнение двух картинок

Здравствуйте, нужен совет.
Я делаю скриншот получаю картинку, делаю второй скриншот и нужно узнать какая была разница с первым и вторым скриншотом.

Решение
1. По пикселям – долгий вариант.
2. По байтам – проблема, поскольку файлы всегда разные по размеру.


Возможно решение поставить фиксированный размер на скриншот.

Последний раз редактировалось noxjoker; 06.06.2010 в 20:58..
 
Ответить с цитированием

  #2  
Старый 06.06.2010, 21:03
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

Что если поделить картинку на зоны, скажем на 4. Потом сравнивать каждую зону с каждой, если они разные, поделить зону ещё раз и сравнить каждую часть.
 
Ответить с цитированием

  #3  
Старый 06.06.2010, 21:05
Аватар для noxjoker
noxjoker
Познающий
Регистрация: 07.08.2009
Сообщений: 85
Провел на форуме:
705829

Репутация: 53
Отправить сообщение для noxjoker с помощью ICQ
По умолчанию

scrat а как сравнивать? По пиксельно долго ...
 
Ответить с цитированием

  #4  
Старый 06.06.2010, 21:06
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

погугли ещё по запросу «image diff», может найдёшь какую библиотеку.
 
Ответить с цитированием

  #5  
Старый 06.06.2010, 21:07
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

Цитата:
Сообщение от noxjoker  
scrat а как сравнивать? По пиксельно долго ...
вырезать и сравнить md5
 
Ответить с цитированием

  #6  
Старый 06.06.2010, 21:08
Аватар для BrainDeaD
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

scrat, какое это даст приемущество перед проверкой целой картинки? 1 = 4/4
 
Ответить с цитированием

  #7  
Старый 06.06.2010, 21:09
Аватар для noxjoker
noxjoker
Познающий
Регистрация: 07.08.2009
Сообщений: 85
Провел на форуме:
705829

Репутация: 53
Отправить сообщение для noxjoker с помощью ICQ
По умолчанию

Цитата:
вырезать и сравнить md5
Допустим они разные мне ж, потом нужно что-то заменить в первой картинке!

Например:

Если по пиксельное, то я узнаю какие пиксели разные потом изменяю их в первой картинке и получаю копию второй.
 
Ответить с цитированием

  #8  
Старый 06.06.2010, 21:13
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

Цитата:
Сообщение от BrainDeaD  
scrat, какое это даст приемущество перед проверкой целой картинки? 1 = 4/4
в том то и дело, что может быть и 3/4 и 2/4 и 1/4.
 
Ответить с цитированием

  #9  
Старый 06.06.2010, 21:22
Аватар для Ra$cal
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

для чего сравнивать надо? просто узнать о наличии различий(тогда можно обходить попиксельно но с изменяемым шагом до первой разницы, например проверяем каждый сотый пиксел, если совпали, то сдвигаем на один пиксель и заново проходим, и так 100 раз для проверки всей картинки. на худой конец никто не отменял многоядерность, плюс на хабре была тема про медленность попиксельной обработки
http://habrahabr.ru/blogs/net/92016/
http://habrahabr.ru/blogs/net/60085/

Если же обработка пикселов с разными значениями чтобы выравнять картинки - только попиксельный проход.
 
Ответить с цитированием

  #10  
Старый 06.06.2010, 21:26
Аватар для BrainDeaD
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
Провел на форуме:
3516666

Репутация: 439


По умолчанию

Цитата:
Сообщение от scrat  
в том то и дело, что может быть и 3/4 и 2/4 и 1/4.
а, понял. в смысле, если 1/4 различна, то не нужно продолжать проверку. тогда вопрос в том, сколько частей оптимально? ведь проверить 1/8 быстрее, чем 1/4, и проверка может быть завершена уже после первой зоны. но в худшем случае придётся провести 8 проверок. так же можно уменьшить зону до пикселя, что усугубит ситуацийю для worst case, но сильно улучшит для best case.

Последний раз редактировалось BrainDeaD; 06.06.2010 в 21:28..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для скачивания картинок по поисковым запросам Бывший ПО для Web разработчика 2 25.05.2010 14:37
Сравнение двух страниц Seravin С/С++, C#, Delphi, .NET, Asm 2 02.02.2010 10:44
Хостинг с оплатой за просмотры картинок peonix Партнерки 21 23.11.2009 16:26
Новый инструмент для монетизации картинок Maxstorn Партнерки 0 14.10.2009 19:17
Samsung Spinpoint F3: терабайт на двух пластинах Fo)(a Мировые новости 1 24.09.2009 20:27



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ