Bilder vergleichen mit diffimg

Bilder vergleichen mit diffimg
01.04.2014 12:40

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fälschung“ in Rekordzeit lösen, es gibt auch einige ernsthafte Anwendungsfälle. Wer beispielsweise seine Bilder für das Internet eindampfen möchte, kann sich von diffimg die Kompressionsartefakte hervorheben lassen und so den besten Kompressionsgrad herausfinden. Des Weiteren können sich Grafiker Änderungen in Zeichnungen oder 3D-Grafiken anzeigen lassen. Aber auch eine umgekehrte Analyse ist möglich: Wer etwa an einen Urlaubsort zurückkehrt und dort an der selben Stelle ein Foto schießt, kann sich von diffimg zeigen lassen, was sich in den Jahren alles verändert hat.

Es gibt allerdings drei kleinere Haken: Zunächst müssen die beiden zu vergleichenden Bilder dieselbe Größe haben. Darüber hinaus kann diffimg nicht mit Transparenzen (Alpha-Kanal) umgehen und nur RGB-Bilder verdauen.

Dieses Foto wurde als JPEG mit 99 Prozent Qualität gespeichert. Dennoch sind die Unterschiede zum Original gravierend.

Installation

diffimg liegt derzeit leider noch nicht in den Repositories der Distributionen, seine Installation aus dem Quellcode ist jedoch schnell erledigt: Zunächst spielt man über die Paketverwaltung cmake, sowie die Entwicklerpakete der Bibliotheken OpenCV und QWT ein. Unter Ubuntu heißen die Pakete cmake, libopencv-dev und libqwt-dev, die Installation erledigt man am schnellsten auf der Kommendozeile mit:

sudo apt-get install cmake libopencv-dev libqwt-dev

In der Regel besitzen die Pakete einen ganzen Berg mit Abhängigkeiten, die man ebenfalls mitinstallieren muss.

Als Nächstes wechselt man auf die Sourceforge-Seite von diffimg und lädt sich dort das aktuelle Quellcode-Paket herunter (mit der Endung src.zip). Dieses Paket entpackt man, öffnet ein Terminalfenster, wechselt in das neu entstandene Verzeichnis und ruft dann nacheinander die folgenden Befehle auf:

cd build
cmake .
make
sudo make install

Sie übersetzen und installieren das Programm. Anschließend startet man es mit dem Befehl diffimg.

Bedienung

Nach dem Start fragt diffimg direkt nach den Dateinamen der beiden zu vergleichenden Bildern. Anschließend landet man im Hauptfenster. Dort kann man in der Leiste am linken Rand (Navigator) zwischen dem Original und dem Modifizierten Bild wechseln. Die Änderungen zwischen den beiden färbt diffimg rot und gelb ein. Diese Färbung lässt sich an- und abschalten, indem man in der Symbolleiste auf das Symbol mit dem Blatt Papier und dem Pinsel klickt. Die Darstellung des Fotos vergrößert und verkleinert man über das Mausrad. Auf der rechten Seite zeigt diffimg schließlich noch ein paar Statistiken über die Bilder an. Die Bedeutung der übrigen Symbole und Bereiche des Hauptfensters erklärt die diffimg-Homepage (ganz am unteren Seitenrand).


Kommentare
kleiner fehler
Johann (unangemeldet), Freitag, 17. Oktober 2014 12:10:56
Ein/Ausklappen

es scheint das Wort "install" zu fehlen bei

sudo apt-get cmake libopencv-dev libqwt-dev

Bei mir funktionierte nur

sudo apt-get install cmake libopencv-dev libqwt-dev


Bewertung: 155 Punkte bei 181 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: kleiner fehler
Tim Schürmann, Freitag, 17. Oktober 2014 23:30:57
Ein/Ausklappen

Ja, stimmt. Danke für den Hinweis. Ich habe es im Text entsprechend geändert.


Bewertung: 314 Punkte bei 115 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
ImageMagick: compare
Karsten Günther, Dienstag, 01. April 2014 13:06:16
Ein/Ausklappen

etwas feiner lassen sich die Unterschiede mittels compare aus der ImageMageíck-Suite ermitteln:

http://www.imagemagick.org/script/compare.php


Bewertung: 159 Punkte bei 242 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Aktuelle Fragen

Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...
Tails verbindet nicht mit WLan
Georg Vogel, 30.07.2017 15:06, 5 Antworten
Hallo zusammen! Habe mir von Linux Mint aus einen Tails USB-Stick erstellt. Läuft soweit gut,...
Genivi for Raspberry Pi 3
Sebastian Ortmanns, 28.07.2017 10:37, 1 Antworten
I try to build a Genivi Development Platform for Rasberry Pi 3. But I always get the failures bel...
Bash awk Verständnis-Frage
Josef Federl, 22.07.2017 17:46, 2 Antworten
#!/bin/bash # Skriptdateiname = test.sh spaltennummer=10 wert=zehner awk '{ $'$spaltennummer'...
Bash - verschachtelte Variablenersetzung, das geht doch eleganter als meine Lösung?
Josef Federl, 18.07.2017 20:24, 3 Antworten
#!/bin/bash #Ziel des Skriptes wird sein die ID zu extrahieren hier nur als Consolentest: root@...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Internet Geschwindigkeit
Udo Teichmann, 19.08.2017 15:49
Am Samstag, den 05.08.2017, 18:20 +0200 schrieb Udo Teichmann: Liebe fleißige Helfer Vielen Dank für den Ti...
[EasyLinux-Ubuntu] Notebook wacht nicht mehr auf
Gerhard Blaschke, 19.08.2017 15:04
Hallo Liste, habe hier ein Notebook Acer Extensa 5630 mit Wheezy. Testweise habe ich es in den Ruhezustand...
Re: [EasyLinux-Ubuntu] bash Leerzeichen vor dem Curser
Uwe Herrmuth, 18.08.2017 08:52
Hallo Volker, Volker schrieb am 18.08.2017 um 07:33: > volker@volker-Aspire-E5-575:~$ echo $PWD &&am...
Re: [EasyLinux-Ubuntu] bash Leerzeichen vor dem Curser
Volker Borst, 18.08.2017 07:33
Hallo Uwe, Am 16.08.2017 um 21:56 schrieb Uwe Herrmuth: > > Dann hab ich eine ganz gewagte Vermutu...
Re: [EasyLinux-Ubuntu] bash Leerzeichen vor dem Curser
Uwe Herrmuth, 16.08.2017 21:56
Hallo Volker, Volker Borst schrieb am 16.08.2017 um 19:22: > > echo $PS1 > > ${debian_chr...