Stapelverarbeitung von TIF-Bildern? Konvertieren von .tif in .jpeg

41

Ich versuche, eine Handvoll .tifDateien in Massen zu konvertieren . Ich fand, dass Phatch wie ein guter Kandidat aussehen könnte, aber ich verwende Ubuntu 11.04. Sieht so aus, als hätten sie keine .debfür meine Version.

Jeder hat Alternativen zu Phatch oder andere Empfehlungen zur schnellen Batch-Konvertierung tifin jpegDateien.

Ich suche eine Nicht-Photoshop-Lösung (ala Wine).

chrisjlee
quelle

Antworten:

75

Einfach. Installieren Sie imagemagick :

sudo apt-get install imagemagick

Die einfachste Verwendung ist:

convert File.tif File.jpg

Es ist klug und hängt von Ihrer Dateierweiterung ab.

Für Batch-Konvertierungen verwenden wir jetzt eine Schleife.

CD in das Verzeichnis, in dem sich Ihre TIF-Dateien befinden.

dann:

for f in *.tif; do  echo "Converting $f"; convert "$f"  "$(basename "$f" .tif).jpg"; done

Lesen Sie auch als:

for f in *.tif
do  
    echo "Converting $f" 
    convert "$f"  "$(basename "$f" .tif).jpg" 
done

Das sollte es tun!

Wenn Sie alle Dateien konvertiert und die Integrität des neuen JPG überprüft haben, müssen Sie nur rm *.tifin diesem Verzeichnis alle alten .tif-Dateien löschen. Gehen Sie jedoch vorsichtig mit Sternchen um. Fügen Sie nach dem kein Leerzeichen ein, da sonst *alle Ihre Dateien im Verzeichnis gelöscht werden.

Tipp: Wenn Sie einen Ordner mit Unterordnern haben, der diese Bilder enthält. Mit dieser for-Schleife können Sie alle .TIF-Dateien in diesem Ordner suchen:

for f in $(find -name *.tif); do ...; done
Matt
quelle
Soll das drucken Converting filename.tifoder Converting filename?
Natriumnitrat
1
@sodiumnitrate sagt "Converting filename.tif". Der basenameBefehl benötigt 2 Argumente. Beispielsweise basename file.tif .tifwird "file" zurückgegeben, wobei die Erweiterung .tif entfernt wird. Sie können die Schleife so ändern, dass "Dateiname.tif in Dateiname.jpg konvertieren" mit demselben Basisnamenbefehl angezeigt wird, wenn Sie dies wünschen.
Matt
findDas erste Argument sollte der Pfad sein, so dass die letzte Zeile sein sollte for f in $(find . -name *.tif); do ...; done(da wir cdvorher im Verzeichnis gearbeitet haben). Ich habe versucht, die Antwort von @ Matt zu bearbeiten, aber die Änderungen müssen aus irgendeinem Grund mindestens 6 Zeichen lang sein.
Mrtnmgs
Vielen Dank ..................................... Arbeiten
Balaji
22

Ich habe diese Frage gefunden, als ich versuchte, es selbst zu tun. Zum späteren Nachschlagen können Sie sie auch so tun:

convert *.tiff -set filename: "%t" %[filename:].jpg

oder um es in ein Unterverzeichnis zu legen

mkdir jpg
convert *.tiff -set filename: "%t" jpg/%[filename:].jpg
Robert Bak
quelle
1
Yay für die eingebaute Dateinamenbehandlung.
Beerbajay
Dies hat auch bei PNG-Dateien sehr gut funktioniert. Das Verhalten für PDFs war jedoch anders.
wdkrnls
Ich würde gerne sehen, dass dies funktioniert. Es wurde jedoch ein Busfehler auf ImageMagick 6.6.9-7 gemeldet. 2014-03-06 Q16 (OpenMP) auf Ubuntu 64. Die akzeptierte Antwort funktioniert einwandfrei.
TFuto
Ein Wort der Warnung: Dies hat für mich das gesamte System
eingefroren
2

Imagemagick sollte sie konvertieren können. Es ist ein Paket von Kommandozeilenprogrammen, wenn Sie damit einverstanden sind.

Ein Teil davon ist konvertieren -

Mann konvertieren:

konvertieren - zwischen Bildformaten konvertieren sowie die Größe eines Bildes ändern, Unschärfe, Zuschneiden, Flecken entfernen, Zittern, Zeichnen, Kippen, Verbinden, Neuabtasten und vieles mehr.

marto
quelle
1
Matts Antwort ist tatsächlich viel nützlicher
Marto
1
Jep. Du bist genau dort.
Chrisjlee
1

Wenn Sie eine GUI-Anwendung bevorzugen, können Sie Phatch über die normalen Repositorys installieren. Öffnen Sie einfach das Ubuntu Software Center und suchen Sie danach. Ich bin nicht mehr am 11.04 aber ich hatte es damals installiert.

Machen
quelle
1

Die obigen Antworten werden *.tiffür die TIF-Auswahl verwendet. Dies gibt jedoch einen Fehler zurück, wenn sich zu viele Dateien in Ihrem aktuellen Arbeitsverzeichnis befinden. Eine einfache Problemumgehung besteht darin, ein Python-Skript zu verwenden, um jede Datei im cwd zu konvertieren:

import glob, os

for c, i in enumerate(glob.glob('ecco_images/*')):
  print(' * converting', i)
  os.system('convert ' + i + ' ' + i.replace('.TIF','.jpg'))
duhaime
quelle
for f in *.tifwird nicht ausbleiben, wird aber convert *.tif.
Muru
Ah, danke @muru! Ich dachte, dass die * -Erweiterung auf Betriebssystemebene gleich sein würde, bin aber froh, korrigiert zu werden.
Duhaime
0

Ich möchte zu @ Matts Antwort hinzufügen, dass Sie Folgendes tun können, wenn Sie möchten, dass die Dateien in den Unterordnern gespeichert werden:

find -name *.tif | while read f; do echo "Converting $f"; convert "$f"  "${f%.*}".jpg; done

Dies behandelt auch das Problem, wenn Ihr Dateipfad / -name Leerzeichen enthält

JTIM
quelle
0

Die GIMP GUI-Lösung mit einem Batch Process Plugin

Funktioniert in Ubuntu 18.04 mit GIMP 2.8


Dialogfeld "Stapelverarbeitungseingabe"

Dialogfeld "Stapelverarbeitungseingabe"


Dialogfeld "Stapelverarbeitungsausgabe"

Dialogfeld "Stapelverarbeitungsausgabe"


Installationsanleitung

1 - Laden Sie die aktuelle Plugin-Datei von der Homepage von DBP - David's Batch Processor auf Ihren Desktop herunter . Für Ubuntu 18.04, das Gimp 2.8 ruiniert, war die für mich funktionierende Datei dbpSrc-1-1-9.tgz .

2 - Besorgen Sie sich einige GIMP-Entwicklungsdateien:

sudo apt-get install libgimp2.0-dev gcc cpp g++

3 - Wechseln Sie in das Systemquellcodeverzeichnis:

cd /usr/src/

4 - Extrahieren Sie das Plugin von Ihrem Desktop in ein eigenes Quellcodeverzeichnis. Ersetzen Sie [Benutzername] durch Ihren aktuellen Benutzernamen und verwenden Sie den Dateinamen, den Sie oben in Schritt 1 heruntergeladen haben:

sudo tar -xvzf /home/[username]/Desktop/dbpSrc-1-1-9.tgz

5 - Wechseln Sie in das Quellcodeverzeichnis des Plugins:

cd dbp-1.1.9

6 - Kompiliere das Plugin:

sudo make

7 - Installieren Sie das Plugin:

sudo make install

8 - Starten Sie GIMP und Sie finden das Plugin unter Menü-> Filter-> Stapelverarbeitung.

GIMP Batch Process .. Menüpfad

SunnyDaze
quelle