HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 53
Question C# Сравнение двух картинок

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

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


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

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

  #2  
Старый 06.06.2010, 21:03
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

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

  #3  
Старый 06.06.2010, 21:08
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
С нами: 11010660

Репутация: 439


По умолчанию

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

  #4  
Старый 06.06.2010, 21:13
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

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

  #5  
Старый 06.06.2010, 21:26
BrainDeaD
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
С нами: 11010660

Репутация: 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..
 
Ответить с цитированием

  #6  
Старый 06.06.2010, 21:05
noxjoker
Познающий
Регистрация: 07.08.2009
Сообщений: 85
С нами: 8821178

Репутация: 53
По умолчанию

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

  #7  
Старый 06.06.2010, 21:07
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

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

  #8  
Старый 06.06.2010, 21:06
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

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

  #9  
Старый 06.06.2010, 21:09
noxjoker
Познающий
Регистрация: 07.08.2009
Сообщений: 85
С нами: 8821178

Репутация: 53
По умолчанию

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

Например:

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

  #10  
Старый 06.06.2010, 21:22
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

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

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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для скачивания картинок по поисковым запросам Бывший ПО для Web разработчика 2 25.05.2010 14:37
Сравнение двух страниц Seravin С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 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 ™ © 2001- Antichat Kft.