Нужно разбить картинку на пиксели и собрать все пиксели в MD5-хэш

Регистрация
08.07.2015
Сообщения
2 848
Реакции
712
Баллы
113
Собственно как это сделать помогите кодом!
 
что значит
и собрать все пиксели в MD5-хэш
в общем мне нужно картинку загнать в хэш, но не адрес картинки а саму картинку для сравнения, но как это сделать даже не представляю, нужно чтото типа канваса, ну к примеру берем картинку уменьшаем размер, количество цветов и все это загоняем в хэш!
 
ну просто бери мд5 и всё. Он берется от содержания файла, а не от его адрес или имени. Код на форуме есть
а я посмотрел все адрес от файлов суют в хэш вот и подумал что он не от содержимого файла!
То это уже лучше!
еще бы показал как сделать!
 
Собственно как это сделать помогите кодом!
ae225f1483044d3794a5ea524e9e4ece.png

http://zennolab.com/discussion/thre...ract-cm-i-prochix-servisov.31731/#post-228031

newBitmap это объект типа Bitmap, можешь загрузить его из файла например.
А дальше собственно сам код как посчитать md5 хэш.

Не забудь using подключить System.Security.Cryptography;
 
  • Оценить
Реакции: masterLomaster
ae225f1483044d3794a5ea524e9e4ece.png

http://zennolab.com/discussion/thre...ract-cm-i-prochix-servisov.31731/#post-228031

newBitmap это объект типа Bitmap, можешь загрузить его из файла например.
А дальше собственно сам код как посчитать md5 хэш.

Не забудь using подключить System.Security.Cryptography;
спасибо! Смотрел твой пост уже давно но не разобрался, попробую теперь разобраться!
Т.е. задача стоит в сравнении картинок*?
да для сравнения!
В идеале нужно уменьшить картинку, уменьшить количество пикселей и цветов и загнать все пиксели в хэш!
В связи с этим несколько вопросов:
Можно без сторонних либ порезать картинку на несколько частей и сохранить их?
Как кодом уменьшить размер картинки? Уменьшить количество цветов (количество пикселей)?
 
Сравниваем две картинки.
upload_2016-12-24_15-55-2.png


C#:
Развернуть Свернуть Копировать
var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));

В результате прога говорит что на 93 процента картинки идентичные.

Надеюсь длл-ку хоть сам пихнешь в проект))
 

Вложения

Сравниваем две картинки.
Посмотреть вложение 17568


C#:
Развернуть Свернуть Копировать
var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));

В результате прога говорит что на 93 процента картинки идентичные.

Надеюсь длл-ку хоть сам пихнешь в проект))
спасибки! Попробую сам длл впихнуть!
Насчет 93% этот процент както можно выставлять?
Есть еще какието настройки которые можно применять?
Сейчас читаю мануалы, там вообще можно даже на картинке объекты искать, но пока не въезжаю!
Тут ты привел пример сравнить 2 картинки, я в мануале читал что прога преобразует картинки в хэш, потом можно получить картинку и сравнить ее с хэшем из базы, чтобы картинки не хранить на пк.
 
Да, все правильно. Вот так он будет сравнивать по хешам.
C#:
Развернуть Свернуть Копировать
var hash1 =  ImageHashing.ImageHashing.AverageHash("1.jpeg"); // 23423423423
var hash2 =  ImageHashing.ImageHashing.AverageHash("2.jpeg"); // 34534534534

var diff = ImageHashing.ImageHashing.Similarity(hash1,hash2);
 
  • Оценить
Реакции: samsonnn и masterLomaster
Да, все правильно. Вот так он будет сравнивать по хешам.
C#:
Развернуть Свернуть Копировать
var hash1 =  ImageHashing.ImageHashing.AverageHash("1.jpeg"); // 23423423423
var hash2 =  ImageHashing.ImageHashing.AverageHash("2.jpeg"); // 34534534534

var diff = ImageHashing.ImageHashing.Similarity(hash1,hash2);
а как сохранить эти хэши чтобы потом получить новую картинку и сравнивать уже хэш новой картинки с хэшами из базы?
 
хеш хранится в переменных в виде набора цифр - 2353453453453. Его хоть в базу, хоть в тетрадь)
а точно вот я туплю!
Вот ты молодец, всякие такие штуки и библиотеки знаешь, как ты их находишь?
 
А я их и не ищу. Просто сталкивался с такой задачей
я до сегодняшнего дня вообще даже не подозревал что так можно! Видел у икорного барона в видосах, что у него там вероятность совпадения выдает, но не знал что это!
 
Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
 
Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
я незнаю как тут \, но читал вроде как дорисовываются там смежные пиксели!
 
Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
А ты просто попробуй плз, потом отпиши... судя по алго пох...
Меня больше парит как работает функция ImageHashing.ImageHashing.Similarity :)
 
Сравниваем две картинки.
Посмотреть вложение 17568


C#:
Развернуть Свернуть Копировать
var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));

В результате прога говорит что на 93 процента картинки идентичные.

Надеюсь длл-ку хоть сам пихнешь в проект))
А можете повернуть имедж на 90 градусов, а то пока я разберусь как dll подрубить )
Заранее спасибо!
 
2 раз такое слышу, ладно, буду считать это совпадением :-)
P.S. я уже нашел сам
100% совпадение! )
я же нуб ты что не знаешь , читал читал недочитал , тут Radzhab подсказал куда рыть да еще кучу всего накидал я от радости все закрыл и давай теперь про это читать в общем в голове каша я вообще пока ничего не соображу!
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)