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

Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113
Собственно как это сделать помогите кодом!
 

doc

Client
Регистрация
30.03.2012
Сообщения
7 745
Благодарностей
3 831
Баллы
113
что значит
и собрать все пиксели в MD5-хэш
 
Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113
что значит
и собрать все пиксели в MD5-хэш
в общем мне нужно картинку загнать в хэш, но не адрес картинки а саму картинку для сравнения, но как это сделать даже не представляю, нужно чтото типа канваса, ну к примеру берем картинку уменьшаем размер, количество цветов и все это загоняем в хэш!
 
Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113
ну просто бери мд5 и всё. Он берется от содержания файла, а не от его адрес или имени. Код на форуме есть
а я посмотрел все адрес от файлов суют в хэш вот и подумал что он не от содержимого файла!
То это уже лучше!
еще бы показал как сделать!
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
490
Благодарностей
722
Баллы
93
Собственно как это сделать помогите кодом!

http://zennolab.com/discussion/threads/raspoznavanie-simvolov-bez-tesseract-cm-i-prochix-servisov.31731/#post-228031

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

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

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 473
Благодарностей
1 154
Баллы
113
Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113

http://zennolab.com/discussion/threads/raspoznavanie-simvolov-bez-tesseract-cm-i-prochix-servisov.31731/#post-228031

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

Не забудь using подключить System.Security.Cryptography;
спасибо! Смотрел твой пост уже давно но не разобрался, попробую теперь разобраться!
Т.е. задача стоит в сравнении картинок*?
да для сравнения!
В идеале нужно уменьшить картинку, уменьшить количество пикселей и цветов и загнать все пиксели в хэш!
В связи с этим несколько вопросов:
Можно без сторонних либ порезать картинку на несколько частей и сохранить их?
Как кодом уменьшить размер картинки? Уменьшить количество цветов (количество пикселей)?
 
Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 473
Благодарностей
1 154
Баллы
113
Сравниваем две картинки.
upload_2016-12-24_15-55-2.png


C#:
var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));
В результате прога говорит что на 93 процента картинки идентичные.

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

Вложения

Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113
Сравниваем две картинки.
Посмотреть вложение 17568


C#:
var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));
В результате прога говорит что на 93 процента картинки идентичные.

Надеюсь длл-ку хоть сам пихнешь в проект))
спасибки! Попробую сам длл впихнуть!
Насчет 93% этот процент както можно выставлять?
Есть еще какието настройки которые можно применять?
Сейчас читаю мануалы, там вообще можно даже на картинке объекты искать, но пока не въезжаю!
Тут ты привел пример сравнить 2 картинки, я в мануале читал что прога преобразует картинки в хэш, потом можно получить картинку и сравнить ее с хэшем из базы, чтобы картинки не хранить на пк.
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 473
Благодарностей
1 154
Баллы
113
Да, все правильно. Вот так он будет сравнивать по хешам.
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
Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113
Да, все правильно. Вот так он будет сравнивать по хешам.
C#:
var hash1 =  ImageHashing.ImageHashing.AverageHash("1.jpeg"); // 23423423423
var hash2 =  ImageHashing.ImageHashing.AverageHash("2.jpeg"); // 34534534534

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

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 061
Благодарностей
877
Баллы
113
Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
 
Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113
Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
я незнаю как тут \, но читал вроде как дорисовываются там смежные пиксели!
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 061
Благодарностей
877
Баллы
113

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 129
Благодарностей
860
Баллы
113
Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
А ты просто попробуй плз, потом отпиши... судя по алго пох...
Меня больше парит как работает функция ImageHashing.ImageHashing.Similarity :-)
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 129
Благодарностей
860
Баллы
113
Сравниваем две картинки.
Посмотреть вложение 17568


C#:
var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));
В результате прога говорит что на 93 процента картинки идентичные.

Надеюсь длл-ку хоть сам пихнешь в проект))
А можете повернуть имедж на 90 градусов, а то пока я разберусь как dll подрубить )
Заранее спасибо!
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 061
Благодарностей
877
Баллы
113
Регистрация
08.07.2015
Сообщения
2 838
Благодарностей
692
Баллы
113
2 раз такое слышу, ладно, буду считать это совпадением :-)
P.S. я уже нашел сам
100% совпадение! )
я же нуб ты что не знаешь , читал читал недочитал , тут Radzhab подсказал куда рыть да еще кучу всего накидал я от радости все закрыл и давай теперь про это читать в общем в голове каша я вообще пока ничего не соображу!
 

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