Moin, habe eine kleine ScriptFrage: ich will eine große Anzahl von .bmp Dateien in komprimierte .tif-Dateien konvertieren. Meine manuelle vorgehensweise dabei wäre: bmptopnm opo2003111412.bmp > opo2003111412.pnm und dann: pnmtotiff -packbits opo2003111412.pnm > opo2003111412.tif Ich kann aber bmptopnm und pnmtotiff immer nur ein Dateiargument übergeben. Da es sich aber um sehr viele Dateien handelt, stellt sich die Frage, ob das nicht vielleicht auch mit einem shellscript geht oder vielleicht nur einer entsprechend schlauen Eingabe auf der Kommandozeile. Ich habe mit shellscripten leider kaum Erfahrung. Kann mir jemand weiterhelfen? Gruß Hannes
Hannes Vogelmann, Dienstag, 18. November 2003 20:41:
ich will eine große Anzahl von .bmp Dateien in komprimierte .tif-Dateien konvertieren. Meine manuelle vorgehensweise dabei wäre:
bmptopnm opo2003111412.bmp > opo2003111412.pnm
und dann:
pnmtotiff -packbits opo2003111412.pnm > opo2003111412.tif
Probier mal irgendwas wie: cd verzeichnis for file in *.bmp do bmptopnm $file... done Du müßtest Dich dann vermutlich noch mit basename spielen, um den Dateinamen von der Endung zu trennen. -- Andreas Feile www.feile.net
Hallo, On Tue, Nov 18, 2003 at 09:03:45PM +0100, Andreas Feile wrote:
Hannes Vogelmann, Dienstag, 18. November 2003 20:41:
ich will eine große Anzahl von .bmp Dateien in komprimierte .tif-Dateien konvertieren. Meine manuelle vorgehensweise dabei pnmtotiff -packbits opo2003111412.pnm > opo2003111412.tif
Probier mal irgendwas wie:
cd verzeichnis for file in *.bmp do bmptopnm $file... done
Du müßtest Dich dann vermutlich noch mit basename spielen, um den Dateinamen von der Endung zu trennen. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ wohl kaum :)
wie wäre es mit nur einmal convertieren? #convert xxx.bmp xxx.tif? ------------ #!/bin/bash ls -1 *.bmp | while read IMAGE do echo "convert $IMAGE ${IMAGE/.bmp/.tif}" convert "${IMAGE}" "${IMAGE/.bmp/.tif}" done ------------ Greetings Daniel -- "...und alles was Vorteile hat, hat auch Nachteile. Wenn man z.B. eine attraktive Freundin hat, ist sie meistens aus zweiter Hand." (Messtechnik, Uni Rostock)
Am Die, 18 Nov 2003, schrieb Daniel Lord:
Hallo,
On Tue, Nov 18, 2003 at 09:03:45PM +0100, Andreas Feile wrote:
Hannes Vogelmann, Dienstag, 18. November 2003 20:41:
ich will eine große Anzahl von .bmp Dateien in komprimierte .tif-Dateien konvertieren. Meine manuelle vorgehensweise dabei pnmtotiff -packbits opo2003111412.pnm > opo2003111412.tif
Probier mal irgendwas wie:
cd verzeichnis for file in *.bmp do bmptopnm $file... done
Du müßtest Dich dann vermutlich noch mit basename spielen, um den Dateinamen von der Endung zu trennen. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ wohl kaum :)
Hmm... habs jetzt mal so probiert, und so klappt es auch: #!/bin/bash for file in *.bmp do bmptopnm $file > `basename $file .bmp`.pnm pnmtotiff -packbits `basename $file .bmp`.pnm > `basename $file .bmp`.tif done
wie wäre es mit nur einmal convertieren?
#convert xxx.bmp xxx.tif?
------------ #!/bin/bash ls -1 *.bmp | while read IMAGE do echo "convert $IMAGE ${IMAGE/.bmp/.tif}" convert "${IMAGE}" "${IMAGE/.bmp/.tif}" done ------------i
Aha, ganz anderes Konzept. Müsste ich auch mal probieren. Vielen Dank jedenfalls mal! cu Hannes
Hallo, Am Tue, 18 Nov 2003, Hannes Vogelmann schrieb:
Am Die, 18 Nov 2003, schrieb Daniel Lord: #!/bin/bash for file in *.bmp do bmptopnm $file > `basename $file .bmp`.pnm pnmtotiff -packbits `basename $file .bmp`.pnm > `basename $file .bmp`.tif done
ls *.bmp | while read file do bmptopnm "$file" | pnmtotiff -packbits > "${file//.bmp/.tif}" done Von den netpbm-tools lesen und schreiben fast alle von stdin bzw. nach stdout. Damit kann man eben z.B. noch ein '| pnmscale' dazwischen klemmen oder sonstwas ;) So geht z.B. folgendes: $ { bmptopnm test.bmp 2>/dev/null \ | tee /dev/stderr \ | pnmtotiff -packbits > test.tif; } 2>&1 | pnmtopng > test.png Und man erzeugt "in einem Schritt" ein .tif und .png ;) Genauso koennte man gleich nen Thumbnail erzeugen: $ { bmptopnm test.bmp 2>/dev/null \ | tee /dev/stderr \ | pnmscale -xysize 128 128 \ | pnmtopng > test_thumbnail.png; } 2>&1 | pnmtotiff -packbits > test_fullsize.tif Da ist convert dann doch unflexibler ;) -dnh -- 144: Maxmimale Entfernung zweier Hubs 12800 km. (Roger Schwendker)
Hallo, Am Tue, 18 Nov 2003, Mathias Homann schrieb:
Am Dienstag, 18. November 2003 22:50 schrieb David Haller:
Genauso koennte man gleich nen Thumbnail erzeugen: [...] Da ist convert dann doch unflexibler ;)
klar.
Ja!
'man convert'
Kenne ich. Gut.
nur zur info, convert gehört zu imagemagick. 'nuff said.
Ach nee, echt? Ich bin mit 'convert', 'mogrify' und ImageMagick genrell auf "du und du"... Verrate uns also bitte mal, wie du mit _einem_ (PNG-)Dekomprimier- Vorgang aus einem PNG ein GIF-Thumbnail und ein JPEG mit convert/mogrify/ImageMagick generierst. -dnh PS: "Know Thy Tools!" -- Oh, ihr poesen Purschen Ihr! Kommt zu Papa! Alle beide! So wird das ja nix. *patsch* *patsch* [David Haller in suse-linux]
Am Mittwoch, 19. November 2003 03:52 schrieb David Haller:
Am Tue, 18 Nov 2003, Mathias Homann schrieb: [...]
nur zur info, convert gehört zu imagemagick. 'nuff said.
Ach nee, echt? Ich bin mit 'convert', 'mogrify' und ImageMagick genrell auf "du und du"...
Verrate uns also bitte mal, wie du mit _einem_ (PNG-)Dekomprimier- Vorgang aus einem PNG ein GIF-Thumbnail und ein JPEG mit convert/mogrify/ImageMagick generierst. [...]
Und ganz nebenbei ist nach meinen Erfahrungen convert um den Faktor 10 langsamer als die netpbm-Tools. Ich hab das gerade in einem Projekt durch, wo es bei einer TIFF-G4 nach JPG-Konvertierung wegen großer Datenmengen extrem auf Performance ankommt. Jan
Am Fre, 21 Nov 2003, schrieb Jan Trippler:
Am Mittwoch, 19. November 2003 03:52 schrieb David Haller:
Am Tue, 18 Nov 2003, Mathias Homann schrieb: [...]
nur zur info, convert gehört zu imagemagick. 'nuff said.
Ach nee, echt? Ich bin mit 'convert', 'mogrify' und ImageMagick genrell auf "du und du"...
Verrate uns also bitte mal, wie du mit _einem_ (PNG-)Dekomprimier- Vorgang aus einem PNG ein GIF-Thumbnail und ein JPEG mit convert/mogrify/ImageMagick generierst. [...]
Und ganz nebenbei ist nach meinen Erfahrungen convert um den Faktor 10 langsamer als die netpbm-Tools. Ich hab das gerade in einem Projekt durch, wo es bei einer TIFF-G4 nach JPG-Konvertierung wegen großer Datenmengen extrem auf Performance ankommt.
Schnelligkeit ist bei mir auch nicht unerheblich, da es sich doch zeitweise um sehr viele Dateien handelt. Mit den pnm-tools bin ich jetzt eigentlich ganz zufrieden. Allerdings überlege ich gerade ob ich als finales Dateiformat nicht doch auch lieber jpg wählen sollte, da mir die Dateien mit pnmtotiff -packbits immer noch zu groß sind. Die LZW-Komprimierung ist leider aus Patentgründen nicht verfügbar. Ich muss auch noch ausprobieren ob nicht vielleicht gif-Dateien in Frage kommen. Hannes
Am Freitag, 21. November 2003 11:43 schrieb Hannes Vogelmann:
Schnelligkeit ist bei mir auch nicht unerheblich, da es sich doch zeitweise um sehr viele Dateien handelt. Mit den pnm-tools bin ich jetzt eigentlich ganz zufrieden. Allerdings überlege ich gerade ob ich als finales Dateiformat nicht doch auch lieber jpg wählen sollte, da mir die Dateien mit pnmtotiff -packbits immer noch zu groß sind. Die LZW-Komprimierung ist leider aus Patentgründen nicht verfügbar. Ich muss auch noch ausprobieren ob nicht vielleicht gif-Dateien in Frage kommen.
Dann such mal nach *cjpeg*, habe ich da auch benutzt. Jan
participants (6)
-
Andreas Feile
-
Daniel Lord
-
David Haller
-
Hannes Vogelmann
-
Jan.Trippler@t-online.de
-
Mathias Homann