Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сравнение изображений

Сообщения:  [1-10] 

 
 автор: Loneliness   (18.01.2007 в 15:09)   письмо автору
 
   для: loneliness   (18.01.2007 в 14:39)
 

Благодарю всех откликнувшихся за помощь.

   
 
 автор: Loneliness   (18.01.2007 в 15:07)   письмо автору
 
   для: Sergey89   (18.01.2007 в 15:00)
 

Даже так- уже гораздо приятнее будет, чем чисто вручную их сравнивать.
Да именьше траффика выводить их в браузер для просмотра. А то 40% повторов.

   
 
 автор: Sergey89   (18.01.2007 в 15:00)   письмо автору
 
   для: Loneliness   (18.01.2007 в 14:54)
 

Код:
<?php
/** 
 * заведомо известно:
 * img1 == img2
 * img1 != img3 => img2 != img3
 */
$img1 file_get_contents('1.jpg');
$img2 file_get_contents('2.jpg');
$img3 file_get_contents('3.jpg');

if (
$img1 == $img2) {
    print 
'1 и 2 равны!<br />';
}

if (
$img1 != $img3 && $img2 != $img3) {
    print 
'1 и 3, и 2 и 3 не равны!';
}
?>


также выдаёт верные результаты. Только надо иметь ввиду, что сравниваются не сами картинки!, а содержимое файлов. А оно может отличаться, если файлы созданы в разное время или в разных редакторах.

   
 
 автор: Sergey89   (18.01.2007 в 14:58)   письмо автору
 
   для: Loneliness   (18.01.2007 в 14:54)
 

щас провёл тест:
<?php
/** 
 * заведомо известно:
 * img1 == img2
 * img1 != img3 => img2 != img3
 */
$img1 md5_file('1.jpg');
$img2 md5_file('2.jpg');
$img3 md5_file('3.jpg');

if (
$img1 == $img2) {
    print 
'1 и 2 равны!<br />';
}

if (
$img1 != $img3 && $img2 != $img3) {
    print 
'1 и 3, и 2 и 3 не равны!';
}
?>


Результат:
1 и 2 равны!
1 и 3, и 2 и 3 не равны!

   
 
 автор: Loneliness   (18.01.2007 в 14:54)   письмо автору
 
   для: Sergey89   (18.01.2007 в 14:49)
 

Можете подробнее? Зашифровать файл и после сравнивать?

   
 
 автор: Loneliness   (18.01.2007 в 14:53)   письмо автору
 
   для: NIK   (18.01.2007 в 14:47)
 

В принципе, такая мысль у меня и появилась. Например, 200 файлов- много?

   
 
 автор: Sergey89   (18.01.2007 в 14:49)   письмо автору
 
   для: NIK   (18.01.2007 в 14:47)
 

Оно впринципе и без перекодировки должно сравниваться.

   
 
 автор: Sergey89   (18.01.2007 в 14:49)   письмо автору
 
   для: loneliness   (18.01.2007 в 14:39)
 

а если md5_file? Я конечно не пробовал, но может и сработает.

   
 
 автор: NIK   (18.01.2007 в 14:47)   письмо автору
 
   для: loneliness   (18.01.2007 в 14:39)
 

не припоминаю такой функции, но можно перекодировать изображения например при помощи base64_encode() и сравнивать результат. Если совпадения есть - под снос. Вот только если изображений много, то возможно будет грузить сервер.

   
 
 автор: loneliness   (18.01.2007 в 14:39)   письмо автору
 
 

Имеется куча адресов картинок, преимущественно *.jpg *.jpeg
Но, увы, зачастую эти картинки одинаковые... Подскажите, можно ли как-то сравнить все картинки на уровне их содержания, а не имени или адреса, и удалить дубликаты?

   

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования