- Регистрация
- 08.07.2015
- Сообщения
- 2 848
- Благодарностей
- 712
- Баллы
- 113
ага буду по пикселям собирать!пиксели )))))))))))))))))))))))
в общем мне нужно картинку загнать в хэш, но не адрес картинки а саму картинку для сравнения, но как это сделать даже не представляю, нужно чтото типа канваса, ну к примеру берем картинку уменьшаем размер, количество цветов и все это загоняем в хэш!что значит
и собрать все пиксели в MD5-хэш
а я посмотрел все адрес от файлов суют в хэш вот и подумал что он не от содержимого файла!ну просто бери мд5 и всё. Он берется от содержания файла, а не от его адрес или имени. Код на форуме есть
Собственно как это сделать помогите кодом!
Т.е. задача стоит в сравнении картинок*?в общем мне нужно картинку загнать в хэш, но не адрес картинки а саму картинку для сравнения
спасибо! Смотрел твой пост уже давно но не разобрался, попробую теперь разобраться!
http://zennolab.com/discussion/threads/raspoznavanie-simvolov-bez-tesseract-cm-i-prochix-servisov.31731/#post-228031
newBitmap это объект типа Bitmap, можешь загрузить его из файла например.
А дальше собственно сам код как посчитать md5 хэш.
Не забудь using подключить System.Security.Cryptography;
да для сравнения!Т.е. задача стоит в сравнении картинок*?
какой к примеру?Для сравнения картинок лучше использовать готовые алгоритм нежели городить костыли
да то что нужно! Когда не знаешь да еще и забудешь это вообще все сложно!Этот проект например https://github.com/jforshee/ImageHashing я его давно юзал
я незнаю даже чего цеплять и как ее собратьСкомпилируй либу и прицепить к зеннке
спасибки! Попробую сам длл впихнуть!Сравниваем две картинки.
Посмотреть вложение 17568
В результате прога говорит что на 93 процента картинки идентичные.C#:var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));
Надеюсь длл-ку хоть сам пихнешь в проект))
var hash1 = ImageHashing.ImageHashing.AverageHash("1.jpeg"); // 23423423423
var hash2 = ImageHashing.ImageHashing.AverageHash("2.jpeg"); // 34534534534
var diff = ImageHashing.ImageHashing.Similarity(hash1,hash2);
а как сохранить эти хэши чтобы потом получить новую картинку и сравнивать уже хэш новой картинки с хэшами из базы?Да, все правильно. Вот так он будет сравнивать по хешам.
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. Его хоть в базу, хоть в тетрадь)
я до сегодняшнего дня вообще даже не подозревал что так можно! Видел у икорного барона в видосах, что у него там вероятность совпадения выдает, но не знал что это!А я их и не ищу. Просто сталкивался с такой задачей
я незнаю как тут \, но читал вроде как дорисовываются там смежные пиксели!Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
ссылку дай на этот материал, почитаюя незнаю как тут \, но читал вроде как дорисовываются там смежные пиксели!
А ты просто попробуй плз, потом отпиши... судя по алго пох...Мне интересно как высчитывается вероятность совпадения, если картинка повернута/смещена. Никак не могу догадаться до этого, по пикселям не проверить, ведь они уже в других местах находятся у другой картинки.
А можете повернуть имедж на 90 градусов, а то пока я разберусь как dll подрубить )Сравниваем две картинки.
Посмотреть вложение 17568
В результате прога говорит что на 93 процента картинки идентичные.C#:var data = ImageHashing.ImageHashing.Similarity(new Bitmap("1.jpeg"), new Bitmap("2.jpeg"));
Надеюсь длл-ку хоть сам пихнешь в проект))
я как всегда все закрыл а теперь найти немогу.ссылку дай на этот материал, почитаю
2 раз такое слышу, ладно, буду считать это совпадениемя как всегда все закрыл а теперь найти немогу.
100% совпадение! )2 раз такое слышу, ладно, буду считать это совпадением
P.S. я уже нашел сам