Hilfe bei "convert"

Radhad

Erfahrenes Mitglied
Hallo zusammen,

ich suche gerade eine einfache Lösung, wie ich x farbige Bilder (Flaggen, Dateinamen laut ISO-Norm) in Graustufen bekomme, ohne jedes einzeln bearbeiten zu müssen. "convert" scheint ja dabei genau das richtige Tool zu sein.

Wie kriege ich jetzt die Bilder in die Graustufen (am besten alle auf einmal)?
Code:
//Ordnerstruktur:
/images
  coloured/
  grayscale/
Am Ende sollen die Bilder unter dem gleichen Namen im Ordner "grayscale" auftauchen. Ich hoffe ihr könnt mir dabei weiterhelfen :)



Gruß Radhad
 
Monochrome kennt nur Schwarz/Weiß
Die Graustufen bekommt man mittels
Code:
convert -colorspace Gray image.png image.png
So geht das zumindest für ein Bild (ungetestet). Jetzt brauche ich das aber für coloured/* => grayscale/* - also für alle Bilder ...
 
Zuletzt bearbeitet:
For-Schleife, interessant :) Müsste das dann so aussehen? Ich teste es auf jeden fall mal...
Code:
for i in *.png; do convert $i -colorscale Gray ../grayscale/$(basename $i .png).png for i in *.png; do convert $i -colorspace Gray ../grayscale/$(basename $i .png).png; echo $i converted; done

Damit klappt es wunderbar :D


Gruß Radhad
 
Weiß ja nicht, ob convert auch ohne Zielparameter funktioniert, aber wenn ja, würde es
Code:
find . | grep png | convert -colorscale Grey

auch tun, oder? ;)
 
Das Ziel muss man angeben. Vor allem wollte ich die neuen Bilder in nem anderen Ordner haben - das hat auch wunderbar mit obiger for-Schleife geklappt. Ich muss das mal unter Windows testen mit einem Batch-Script.
 
Das stimmt, die shell bei Linux ist echt super :) Aber wie oben schon erwähnt, muss ich das ganze auch mal unter Windows testen, da man ja mit "convert.exe" auch rasch viele Fotos verkleinern kann oder eben von Farbe nach s/w ändern kann ;) Das erleichtert die Arbeit enorm *gg*
 
Parallel zum Befehl convert beinhaltet die ImageMagick-Bibliothek auch noch mogrify,
welcher die Eingabedatei direkt veraendert.

Eine Alternative waere also die Bilder alle in ein neues Verzeichnis zu kopieren und dort
den Befehl mogrify -colorspace Gray *.* auszufuehren.
 

Neue Beiträge

Zurück