ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Задачка с 2-мя картинками
  #1  
Старый 25.11.2007, 15:18
Аватар для TANZWUT
TANZWUT
Крёстный отец :)
Регистрация: 22.06.2005
Сообщений: 1,330
Провел на форуме:
5302668

Репутация: 2054


Отправить сообщение для TANZWUT с помощью ICQ
По умолчанию Задачка с 2-мя картинками

есть 2 картинки в формате Jpg, я их переделаю в формат Bmp, обе одинакового размера. надо сравнить их по пикселам по цвету, вывести кол-во одинаковых и разных пикселов. интересует сабж - чем это можно сделать.
__________________
Лучший способ защиты - это нападение!!!
 
Ответить с цитированием

  #2  
Старый 25.11.2007, 15:29
Аватар для halkfild
halkfild
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме:
7084941

Репутация: 2277
По умолчанию

ну можно на пхп, можно на с.. инструментарий без разницы..

открываешь файл.. делаешь смещение на служебную инфу.. типа: размер битность и тд.. а потом побайтно читаешь и сравниваешь

*Добавлено все намного проще если юзать графику пхп

PHP код:
<?php

function get_colors($location) {
    
$image imagecreatefromjpeg($location);
    
$size getimagesize($location);
    for (
$w 1$w $size[0]; $w++) {
        for (
$h 1$h $size[1]; $h++) {
            
$colors[$w."x".$h] = imagecolorat($image$w$h);
        }
    }
    
imagedestroy($image);
    return 
$colors;
}

function 
check_images($colors1$colors2) {
    
$ok 0;
    
$pixels1 sizeof($colors1);
    
$pixels2 sizeof($colors2);
    if (
$pixels1 != $pixels2) {
        return 
false;
    }
    foreach (
$colors1 as $key => $value) {
        if (isset(
$colors2[$key]) && $colors2[$key] == $value) {
            
$ok++;
        }
    }
    
$new_percent = ($ok $pixels1) * 100;
    return 
round($new_percent2);
}

$image1 get_colors("image1.jpg");
$image2 get_colors("image2.jpg");

$result check_images($image1$image2);

if (
$result) {
    echo (
$result 70) ? "Картинки одинаковые" "Картинки разные";
    echo 
"<br />\n";
    echo 
"Процент совпадения: ".$result."%";
}

?>
соурс видел где-то в нете на слаеде вродь

Последний раз редактировалось halkfild; 25.11.2007 в 15:50..
 
Ответить с цитированием

  #3  
Старый 25.11.2007, 15:48
Аватар для TANZWUT
TANZWUT
Крёстный отец :)
Регистрация: 22.06.2005
Сообщений: 1,330
Провел на форуме:
5302668

Репутация: 2054


Отправить сообщение для TANZWUT с помощью ICQ
По умолчанию

с меня кодер как с ... думаю ты понял иначе бы не просил.
мне админ с одного развлекательно-убойного-угарного сайта обещал за поиск расзличий в картинках:
Цитата:
***** (13:55:41 25/11/2007)
Получишь оранжевую мясорубку! Паша никогда не обманывает!
__________________
Лучший способ защиты - это нападение!!!
 
Ответить с цитированием

  #4  
Старый 25.11.2007, 16:04
Аватар для demonoid
demonoid
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме:
4094601

Репутация: 495
По умолчанию

Цитата:
Сообщение от TANZWUT  
есть 2 картинки в формате Jpg, я их переделаю в формат Bmp, обе одинакового размера. надо сравнить их по пикселам по цвету, вывести кол-во одинаковых и разных пикселов. интересует сабж - чем это можно сделать.
Это можно сделать : Perl + GD( Library )
 
Ответить с цитированием

  #5  
Старый 25.11.2007, 16:07
Аватар для halkfild
halkfild
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме:
7084941

Репутация: 2277
По умолчанию

выше описана реализация на пхп с отображением процентного соотношения схожести
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка StocKeR Болталка 1 07.10.2007 21:23
Задачка JavaScript guest3297 PHP, PERL, MySQL, JavaScript 10 11.04.2007 12:54
Задачка для админов. Две сетевых и два провайдера. Егорыч+++ *nix 6 12.12.2006 17:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ