Doppelte Bilder in einem Verzeichnis aufspüren
Oft ist es so, dass nach einem Ausflug die Speicherkarte der Digitalkamera voll ist mit gespeicherten Momentaufnahmen der Tageserlebnisse. Leider ist es aber so, dass ein und dasselbe Motiv doppelt und dreifach durch die Linse geht, oder das Objekt der Begierde einmal gestochen scharf erscheint und ein anderes mal etwas verwackelt oder unscharf ist. Bei wenigen Bildern ist die Suche nach Duplikaten noch überschaubar, während ein voller Speicher zur Herausforderung gerät. An dieser Stelle kann das kleine Tool 'findimagedupes' schon eine Hilfe darstellen. Es befindet sich in den Repositories von Ubuntu 14.04 und findet ähnliche oder doppelte Bilder.
Anwendung als Einzeiler in der Shell
:~$ findimagedupes find_bilder # durchsucht das Verzeichnis find_bilder
Suchergebnis:
/home/patrick/find_bilder/gelbe_tulpen_1.jpg /home/patrick/find_bilder/gelbe_tulpen.jpg
/home/patrick/find_bilder/eisvogel_2.jpg /home/patrick/find_bilder/eisvogel_3.jpg
/home/patrick/find_bilder/rote_tulpen.jpg /home/patrick/find_bilder/rote_tulpen-1.jpg
Das Tool 'findimagedupes' findet hier doppelte gelbe Tulpen, die selben Eisvögel und noch mal rote Tulpen im Doppelpack und stellt die jeweiligen Paare direkt gegenüber:
gelbe_tulpen_1.jpg == gelbe_tulpen.jpg
eisvogel_2.jpg == eisvogel_3.jpg
rote_tulpen.jpg == rote_tulpen-1.jpg
Im obigen Beispiel besitzt das Verzeichnis find_bilder keine Unterverzeichnisse, so dass 'findimagedupes' ohne die Option -R - für rekursiv - auskommt. In der Manpage des Tools sind noch einige andere Optionen und Returncodes aufgeführt, auf die ich nicht weiter eingehe, es lohnt sich allerdings das Manual einmal zu studieren um weitere Features von 'findimagedupes' zu erkunden.
Zeig mir was Du gefunden hast!
Hier zeige ich noch einmal die Verwendung von 'findimagedupes' in einem kleinen Shellscript.![]() |
Die Bilder im Verzeichnis find_bilder |
Das obige Beispiel demonstriere ich einmal anhand eines kleinen Shellscripts, das die gefundenen Bildpaare in einem Bildrahmen der ImageMagick-Bibliothek darstellt.
![]() |
Das Script zur Ausgabe der Bildpaare |
Die for-Schleife liest die Suchergebnisse von 'findimagedupes' einzeln aus und speichert sie in der Variablen $vergleich. Mit 'display' aus der ImageMagick-Bibliothek werden die gefundenen Dopplungen angezeigt:
![]() |
eisvogel_2.jpg |
![]() |
eisvogel_3.jpg |
Und hier noch einmal die gelben Tulpen, wobei ich mir die im Verzeichnis gefundenen roten Tulpen danach schenke:
![]() |
gelbe_tulpen.jpg |
![]() |
gelbe_tulpen_1.jpg |
Der Einsatz von 'display' im Shellscript, setzt ein installiertes ImageMagick auf dem System voraus.
Sicher gibt es unter Linux noch einige andere Möglichkeiten, doppelte Bilder zu identifizieren so dass dieses Beispiel eine von vielen möglichen Lösungen darstellt. Die Einbettung in ein Shellscript eröffnet jedoch viele ausbaufähige Einsatzgebiete.
Bis bald.
Keine Kommentare:
Kommentar veröffentlichen