Docker Container für das Bearbeiten von Bildern

Status
Für weitere Antworten geschlossen.

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
6.057
Punkte für Reaktionen
1.855
Punkte
254
Hallo,

für Videos gibt es Handbrake, wo man verschiedene Eingangsordner definieren kann, die automatisch abgearbeitet werden.

So eine Lösung suche ich für Bilder. Ich möchte einen Ordner, wo ich Bilder hineinkopiere, die dann vom Container bearbeitet werden (z.B. verkleinert auf Seitenlänge 1500px).

Kennt jemand einen Container, der das möglich macht?
 

NormalZeit

Benutzer
Mitglied seit
15. Okt 2012
Beiträge
361
Punkte für Reaktionen
17
Punkte
24
ImageMagic und ein Script was zyklisch Deinen „Hot-Folder“ nach neuen Bildern absucht und dann verarbeitet?
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
6.057
Punkte für Reaktionen
1.855
Punkte
254
@NormalZeit
Du hattest den entscheidenden Hinweis. Vielen Dank.


Container: dpokidov/imagemagick
Link: https://registry.hub.docker.com/r/dpokidov/imagemagick

Der Container muss nur runtergeladen werden und muss nicht laufen. Er wird durch das Script gestartet, er bekommt das zu bearbeitende Bild und wird danach wieder beendet.

Hier ein Rohscript, welches nach den eigenen Bedürfnissen angepasst werden muss.
Es muss ein Eingangs- und ein Ausgangsordner angelegt werden.
Rich (BBCode):
#!/bin/bash

## Einlesen der Namen der Bilddateien und ablegen im Array
typeset -a dateien
dateien=(`find /volume1/gemeinsamerOrdner/eingang/*.jpg -maxdepth 1 -type f -exec basename {} \;`)

## Schleife Anfang
for datei in ${dateien[*]}
do

## Aufruf Docker/Container
docker run --name 12345 -v /volume1/gemeinsamerOrdner:/imgs dpokidov/imagemagick /imgs/eingang/$datei -resize 2250 /imgs/ausgang/bearbeitet-$datei

## Löschen vom Container
docker rm 12345

## Schleife Ende
done
Die Bildergröße (2250px) muss nach eigenen Wünschen noch angepasst werden. Ich habe bei mir im Befehl u.a. noch ein Nachschärfen (-sharpen 1) und die JPG-Qualität (-quality 80) hinzugefügt.

Wenn man das als Cronjob ausführen will, sollte man vorher noch das Verzeichnis auf Inhalte prüfen. Somit läuft der Container nicht unnötig bei jedem Aufruf, sondern nur, wenn wirklich was im Ordner liegt.
 

TeXniXo

Benutzer
Mitglied seit
07. Mai 2012
Beiträge
4.948
Punkte für Reaktionen
100
Punkte
134
Klingt interessant, aber ist es möglich, auch Werte in % anzugeben statt absolute px-Werte?
Des Weiteren werden die "originalen" Bilder nach Stapel-Bearbeitung gelöscht? Gibt es weitere Optionen diesbezüglich?
(und nein, ich hab mich da nicht eingelesen ^^)
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
6.057
Punkte für Reaktionen
1.855
Punkte
254
Klingt interessant
Das fand ich auch und habe mich nur gewundert, dass ich sowenig darüber gefunden habe.
Ich z.B. habe oft Fotos von handwerklichen Leistungen, je nach Kamera meist zwischen 5 bis 20 MB groß, manchmal Pixellängen von satten 8000. Alles viel zu groß. Mir reicht da locker 1500px und meist 500 bis 1000kb. So muss ich die Fotos nicht mehr mit Photoshop oder mit Irfanview (Batch) verkleinern. Rein in den Eingang, raus aus dem Ausgang und ablegen. Bis ich im Büro bin, sind die Fotos alle schon fertig bearbeitet. Ein Träumchen... :)

ist es möglich, auch Werte in % anzugeben?
Ja, ist möglich. Und noch viel mehr. Das Teilchen ist sehr mächtig:
https://www.imagemagick.org/Usage/resize/

Ich selber kämpfe im Moment noch mit der Kantenlänge. Eigentlich wollte ich nur eine Größe angeben und hoffte, dass er die längste Kante damit bearbeitet. Leider war dem nicht so, er nimmt bei der Angabe von nur einem Wert immer die untere Kante. Aber vielleicht habe ich die Funktion dafür noch übersehen.

Des Weiteren werden die "originalen" Bilder nach Stapel-Bearbeitung gelöscht? Gibt es weitere Optionen diesbezüglich?
Ich habe die Funktion in Imagemagick noch nicht gefunden. Bei dem Umfang an Möglichkeiten sollte das aber wohl irgendwo drin (für mich noch versteckt) sein.

Für meinen eigenen Workflow habe ich ein Archivverzeichnis angelegt und verschiebe durch mein Script die Originaldateien nach dem Resize dort hin. Das Archiv wiederum wird immer wieder auf Alter der Dateien kontrolliert (alles was älter als X ist, wird gelöscht).

(und nein, ich hab mich da nicht eingelesen ^^)
Das ist mir gar nicht aufgefallen... *lach* ;)
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat