Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównanie dwóch plików graficznych - jest taka możliwość?
haryb
post
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 0
Dołączył: 9.11.2004
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Takie pytanko:
Czy jest możliwe do zrobienia za pomocą PHP - jakiś bibliotek graficznych czegoś takiego:
uploadujemy 2 pliki i po wczytaniu zaznaczają sie na jednym z nich różnice w dwóch podobnych rysunkach.

A może jest jakies gotowe narzędzie do tego?

Pozdr
haryb
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
_Martin_
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

Ostrzeżenie: (0%)
-----


Osobiście sam kiedy takie coś robiłem Wyszło mi tylko Porównanie wielkości obrazków, rozmiaru, formatu,
Ale o porównywaniu kolorów na obrazków itp to nie to musi być coś co sprawdza pixel po pixelu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) a to raczej w php nie łatwe jak nie wykonalne he moze javascript bądź c++ ?
Go to the top of the page
+Quote Post
sowiq
post
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


LOL, JavaScript nadaje się bardziej do porównania obrazków niż PHP?

Podpowiedzi:
http://www.intelliot.com/blog/archives/200...ilarity-in-php/
http://bytes.com/groups/php/477904-compare-images
Go to the top of the page
+Quote Post
flashdev
post
Post #4





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Cytat(sowiq @ 6.01.2009, 20:09:51 ) *
LOL, JavaScript nadaje się bardziej do porównania obrazków niż PHP?

Podpowiedzi:
http://www.intelliot.com/blog/archives/200...ilarity-in-php/
http://bytes.com/groups/php/477904-compare-images


Z tego co widze haryb`owi chodzi o znajdywanie różnic w tych dwóch plikach, a nie sprawdzenie czy są takie różnice. Oczywiście w tym przypadku obliczenie md5 wydaje się najlepszym rozwiązaniem.

Co do problemu na pewno można to zrobić piksel po pikselu na całej szerokosci i wysokosci obrazka, ale neistety w PHP będzie to bardzo niewydajne. W takim razie dołącze się do tematu i zapytam jak można tworzyć takie biblioteki dla php? Czy istnieją wogóle jakieś wstawki c++ or something w PHP?
Go to the top of the page
+Quote Post
sowiq
post
Post #5





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@up,
no to masz do wyboru - albo sprawdzasz pixel po pixelu i zaznaczasz na jednym z obrazków te, które się różnią, albo napiszesz sztuczną inteligencję, której powiesz: 'znajdź 3 różnice'.

Oczywiście pixele są reprezentowane przez jakieś dane binarne/hex. Więc dlaczego nie sprawdzać takich danych? Przecież nikt nie każe Ci rozkładać obrazka na części pierwsze. Wystarczy porównywać porcje danych z pliku, które odpowiadają pojedynczemu pixelowi i ew. je zmieniać. Wbrew pozorom to nie takie trudne zadanie.

Ten post edytował sowiq 7.01.2009, 00:56:53
Go to the top of the page
+Quote Post
legorek
post
Post #6





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Można napisać własne rozszerzenie dla php. W sieci jest trochę materiałów jak to zrobić.

A odnośnie samego tematu, można oczywiście porównywać po pikselu, ale to będzie raczej bezcelowe bo wystarczy ponownie zapisać zdjęcie z kompresją żeby już różniło się nieznacznie od oryginału. I będzie to powolne

Prawdopodobnie trzeba by podzielić np obraz na regiony uśredniać je i badać wielkość różnic. Dla niewielkich można przyjąć że obrazy się nie różnią. Ale to ciągle będzie powolne.
Go to the top of the page
+Quote Post
AxZx
post
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

Ostrzeżenie: (0%)
-----


może trochę podobnie. są serwisy gdzie można wyszukiwać zdjęcia według kolorów - takie coś jest możliwe? to by było chyba podobne to porównywania dwóch plików
Go to the top of the page
+Quote Post
wrzasq
post
Post #8





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


http://www.imagemagick.org/Usage/compare/
http://www.php.net/manual/en/function.imag...mpareimages.php

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

-edit-

jasne ze jest mozliwe, tylko wlasnie pytanie o wydajnosc. ja z doswiadczenia wiem (na przyklad odczytywanie tokenow do botow (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) ze "da sie, ale lepiej nie". jesli masz mozliwosc lepiej w przypadku obrobki obrazow skorzystaj z zewnetrznych programow (lub jesli jak w przypadku imagemagick'a - skorzystaj z odpowiedniego rozszerzenia PHP). akurat Imagick jest instalowany na wiekszosci nawet wspoldzielonych hostingow.

Ten post edytował wrzasq 7.01.2009, 01:35:15
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 20:56