diffimg

Porównywanie zdjęć - poznaj darmowy program DiffImg

Jak wiemy niektóre branże mają to do siebie, że nie mogą pozwolić sobie na wrzucanie kiepskiej jakości fotek np. zdjęcia żywności czy modelek. Czym wyższa jakość zdjęcia, tym jego rozmiar większy, w konsekwencji zwiększa się także czas ładowania strony. Ostatnio w ramach optymalizacji jednego z serwisów internetowych musiałem wykonać serię testów, których zadaniem było oszacowanie stopnia zmian po przekształceniu zdjęć do PNG (zoptymalizowany). Do porównywania obrazków użyłem ciekawego darmowego narzędzia i o nim właśnie będzie dzisiejszy wpis.

Początkowo nie mogłem znaleźć idealnej aplikacji do wykrywania różnic (porównywania zdjęć) w obrazach, testowałem różne softy, między innymi dobrze znany RIOT (Radical Image Optimization Tool), lecz najlepszym programem, który podał najdokładniejsze statystyki okazał się sofcik DiffImg (do pobrania za free z sourceforge.net). Warto jeszcze dodać, że narzędzie jest bardzo szybkie, nawet duże obrazy przetwarzane są błyskawicznie.

Obsługa DiffImg jest podobna do znanego oprogramowania - WinMerge (soft do porównywania plików tekstowych). Wczytujemy obraz bazowy (oryginalny) i obraz po modyfikacji (kompresji).

Diffimg

Na wyjściu uzyskujemy dane statystyczne oraz wykryte różnice, które nałożone są na obraz bazowy.

W przykładzie oryginalny zrzut lekko zmieniłem zamazując jedną ze zmiennych tekstowych. Na powyższym zrzucie widzimy wyraźnie, który fragment obrazu został zmodyfikowany (Original, Modified, Diffrence) i w jakim stopniu (sekcja Statistics).

Program umożliwia zdefiniowanie metryk takich jak Perceptual difference (dane w tym trybie są najbardziej czytelne), można także zdefiniować metodę porównywania i próg czułości. Wszystko to pomaga wychwycić zmiany w zdjęciach, określić jakość wynikową. Oczywiście najważniejsze dla nas jest ogólna percepcja zdjęcia, dane uzyskane z programu pomagają dostrzec stopień ingerencji w obraz.

Oczywiście powiesz, po co mi taki program, przecież mogę zrobić wszystko na oko. Owszem możesz, natomiast tego typu zaawansowane analizy mają odpowiedzieć na pytanie - czy na konkretnej próbce zdjęć da się zrobić skuteczną optymalizację.

Mówiąc skuteczna optymalizacja mam na myśli zachowanie dobrej jakości przy znaczącej redukcji wagi zdjęcia. Przy czym należy zauważyć, że zazwyczaj dla kilku procent zysku nie ma sensu bawić się w optymalizację zdjęć, no chyba że jest ich niewiele, jednakże w sklepach internetowych czy firmowych portfolio mamy do czynienia z wieloma fotografiami (dodam że często mega dużymi).

Mariusz Kołacz

Skomentuj wpis - Komentarzy (10)

  1. Rychu pisze:

    Ja osobiście nie kombinuję specjalnie, tylko przepuszczam obraz przez IrfanView i przy zapisywaniu ustawiam poziom kompresji, a potem oceniam na oko. Ale zgadzam się, że jak zdjęcia mają przyciągać i nie obciążać strony (np. portfolio fotografa itp.), to warto porządnie nad tymi zdjęciami przysiąść. Pobrałem - zobaczymy, co ten sofcik potrafi ;)

  2. Gosia pisze:

    Uważam, że w sklepach internetowych także powinno się dbać o jak najwyższą jakość zdjęć, lecz nie należy zapominać o ich optymalizacji. Zazwyczaj każdy produkt ma po 2 - 3 zdjęcia, więc przy kilku tysiącach produktów jest to spore obciążenie dla serwera. Osobiście wstawiam zoptymalizowane zdjęcia JPG, które zajmują średnio 30kb przy rozmiarze 600x400px.

  3. Iwona Sobieraj pisze:

    Fajny prrogram, można łatwo znaleźć granicę za którą zdjęcie jest już gorsze. Nie trzeba bawić się w dwu, trzykrotne zapisywanie i sprawdzanie efektów. Przydatne szczególnie przy zdjęciach gdzie jakość odgrywa kluczową rolę.

  4. Ingrid pisze:

    Ile ja się naszukałem takiego programu! Nawet nie macie pojęcia :)
    Robiłem na oko ręcznie, nakładając w Photo-Paint na siebie zdjęcia i obcinając jednego połowę żeby zobaczyć czy przejdzie czy od nowa optymalizować. A tutaj idealna sprawa :) Na swoim blogu zamieszczam fotki kosmetyków i czasami mają duże rozmiary i muszę je optymalizować, a czasami przedobrzę jak to się mówi :)

  5. Piotr Skrzypczak pisze:

    Mariusz na stronach opartych na WordPress używam wtyczki WP Smush.it, która sama optymalizuje obrazki bez widocznej utraty jakości. W większości przypadków to wystarcza. Problem jest w tych serwisach, gdzie zdjęcia są naprawdę duże (wtyczka ma ograniczenie wielkości do 1 MB) i nie wykona się nią automatycznej optymalizacji. Z WinMerge korzystam, nie wiedziałem że są też softy do porównywania plików graficznych :)

  6. Jarek pisze:

    Takiego programu właśnie mi brakowało. I do tego za darmo.

  7. User pisze:

    Wszystko fajnie, ale pomimo mocnej maszyny ma problemy z plikami powyżej 80mb ;)

  8. Mariusz Kołacz pisze:

    Fakt, z dużymi plikami ma problem.

  9. menab pisze:

    Pliki można porównać wizualnie w dowolnym programie graficznym z obsługą warstw. Wystarczy wczytać oryginał i w kolejnej warstwie negatyw kopii z kryciem 50%. Na jednolicie szarym tle widoczne będą tylko różnice.
    Bardzo ładnie widać, co robi kompresja.

  10. Mariusz Kołacz pisze:

    Dzięki, nie znałem tego sposobu :)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Poinformuj mnie o nowych komentarzach do tego wpisu.