Bilder-Serie per convert umwandeln

Wizard

Tripel-As
Beiträge
234
Hi!
Ich besitze eine Digitalkamera. Alle Bilder werden beim Übertragen auf den Rechner im pnm-Format gespeichert (jedes Bild ca. 1 mb).
Jetzt möchte ich jedoch Bilder ins jpg-Format umwandeln, wobei die Bildgröße auf ca. 24 kb verkleinert wird. Das geschieht mittels convert.
Mein Problem: Ich habe eine menge Bilder und möchte nicht jedes einzeln umwandeln.
Folgendes habe ich schon versucht:
convert *.pnm *.jpg
Es wurden zwar die jpg-Dateien korrekt erzeugt, die Dateinamen sahen jedoch folgendermaßen aus:
*.jpg.1, *.jpg.2 ...
Ich will, dass der jeweilige Name des schon bestehenden pnm-Bildes bei der Überführung ins jpg-Format übernommen wird. Wie kann das realisiert werden?

MfG
 

rup

Haudegen
Beiträge
627
Hallo,

ich hab zwei Beispiele angehaengt, ich hoffe es bringt dich weiter, falls nicht frag einfach noch mal nach. Wenn sich die Bilder in verschiedenen Unterverzeichnissen befinden kanst du "find" verwenden.


Alle Bild-Dateien mit der Endung .jpg um 50% verkleinern und als *_klein.jpg abspeichern:

for i in *.jpg
do
convert $i -geometry 50% $(basename $i .jpg)_klein.jpg
done

Alle Jpeg-Bilder im aktuellen Verzeichnis mit der Endung .jpg ins Encapsulated PostScript Format umwnadeln und die Endung in .eps umbenennen:

for i in $(ls *.jpg)
do
convert $i /home/${i%.*}.eps
done
 

Wizard

Tripel-As
Beiträge
234
Danke, rup!
Ich habe mit Deiner Hilfe folgendes Script schreiben können:

#!/bin/sh
for name in *.pnm
do
convert $name $name.jpg
done

Das ist eins meiner ersten Shell Scripts. Wo kann ich mehr darüber lernen? Bisher hatte ich bloß ein eher dürftiges Tutorial.
 
Zuletzt bearbeitet:

rup

Haudegen
Beiträge
627
Online find ich die Linuxfibel sehr hilfreich,
http://www.linuxfibel.de

Als Buch hab ich
Linux Unix Shells von Addison Wesley
Shell Programming in 24 hours
und eine 35 Seiten Einfuehrung ist in meinem alten Linux Kofler (4. Auflage)
 

Wizard

Tripel-As
Beiträge
234
Die Linuxfibel habe ich mir angesehen, ich denke, dass mir das sehr weiterhelfen wird. Nochmals Danke!

Das Script habe ich nochmal überarbeitet, es sieht jetzt so aus:

#!/bin/sh
i=1
for FILE in *.pnm
do
convert $FILE image$i.jpg
rm -f $FILE
i=$((i+1))
done

Die erzeugten jpg-Dateien erhalten Nummern, zusätzlich werden die pnm-Dateien gelöscht.
 

hehejo

blöder Purist
Beiträge
1.280
rup schrieb:
Alle Jpeg-Bilder im aktuellen Verzeichnis mit der Endung .jpg ins Encapsulated PostScript Format umwnadeln und die Endung in .eps umbenennen:

for i in $(ls *.jpg)
do
convert $i /home/${i%.*}.eps
done
Das ist GENAU das was ich brauche. Nur wo krieg ich das Programm her?
Ich kompilier es mir auch gerne selbst!
 

hehejo

blöder Purist
Beiträge
1.280
Wunderbar. Ich hab's vorgezogen mir die Programme selbst zu kompilieren.
Das Umwandeln in eine eps Datei (brauch ich für LaTeX) hat auch geklappt - also "file" sagt zumindest, dass es eine eps Datei ist.
Nur in meinem PDF wird es nicht dargestellt! :-(
 

Ähnliche Themen

hunderte Bilder bearbeiten...

Oben