Для чего изображение хеширует используемый?

Можно сравнить Список даты в строковом формате, используя сравнение, как указано ниже.

ArrayList<String> datestring=new ArrayList<String>();
datestring.add("01/21/2013 @03:13 PM");
datestring.add("01/21/2013 @04:37 PM");
datestring.add("01/21/2013 @10:41 AM");
datestring.add("01/21/2013 @10:48 AM");
datestring.add("01/22/2013 @06:16 AM");
datestring.add("01/22/2013 @06:19 AM");
datestring.add("01/21/2013 @05:19 PM");
datestring.add("01/21/2013 @05:19 PM");

Collections.sort(datestring, new Comparator<String>() {
                @Override
                public int compare(String object1, String object2) {
                    return object1.compareTo(object2);
                }
            });

При использовании этого вам даже не нужно анализировать строку в дату

39
задан antony.trupe 30 May 2010 в 22:39
поделиться

4 ответа

хеширование в целом является полезным способом сокращения огромного количества данных до короткого (ish) числа, которое может использоваться для идентификации этого изображения.

Иногда они предназначены только для предоставления удобный способ идентифицировать файл без вмешательства человека, особенно в присутствии нескольких параллельных авторов, на которых нельзя положиться в увеличении какого-либо главного счетчика (JPG001 JPG002) без перекрытия.

Иногда хэши предназначены для unforgeable, так что я могу сказать - если хэш изображения, который ВЫ генерируете, совпадает с тем, который я создал, когда отправил вам изображение, тогда вы можете быть уверены, что он от меня (а не отрегулирован злоумышленником). Однако не все хэши могут дать такую ​​гарантию, каждые несколько лет выясняется, что популярный такой «криптографический» хеш имеет фатальные недостатки.

3
ответ дан 27 November 2019 в 02:26
поделиться

На практике хеширование изображений популярно для поиска похожих изображений в последовательности кадров или видео или для встраивания водяных знаков в различные изображения, как это сейчас делают многие киностудии (почти прислушиваясь к Бойцовский клуб в жутком смысле!)

1
ответ дан 27 November 2019 в 02:26
поделиться

Ммм .... Чтобы быстро сравнивать изображения (в широком смысле, изображения или любые другие двоичные файлы) без сравнения всего файла?

-2
ответ дан 27 November 2019 в 02:26
поделиться

В то время как при обычном хешировании файла хешируются отдельные биты данных файла, хеширование изображений работает на несколько более высоком уровне. Разница в том, что при хешировании изображений, если два изображения выглядят практически одинаково, но имеют разный формат или разрешение (или есть незначительные повреждения, возможно, из-за сжатия), они должны хешироваться до одного и того же числа. Несмотря на то, что фактические биты их данных совершенно разные, если они выглядят частично идентичными человеку, они хешируют одно и то же.

Одно из применений этого - поиск. TinEye.com позволяет загружать изображение и находить множество его вхождений в Интернете. как и в Google, у него есть поисковый робот, который просматривает веб-страницы и ищет изображения. Затем он хеширует эти изображения и сохраняет хэш и URL-адрес в базе данных. Когда вы загружаете изображение, оно просто вычисляет хэш и извлекает все URL-адреса, ссылающиеся на этот хеш в базе данных. Примеры использования TinEye включают поиск версий изображений с более высоким разрешением или поиск чьих-либо общедоступных facebook / myspace / и т. Д. профиль из их изображения (при условии, что эти профили используют одну и ту же фотографию.

Хеширование изображений также может использоваться с кэшированием или локальным хранилищем, чтобы предотвратить повторную передачу фотографии или хранение дубликатов, соответственно.

Существует множество других возможностей, включая проверка подлинности изображения и поиск похожих кадров в видео (как было упомянуто кем-то другим).

37
ответ дан 27 November 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: