Traitement par lots d'images tif? Conversion de .tif à .jpeg

43

J'essaie de convertir en masse une poignée de .tiffichiers. J'ai trouvé que phatch pouvait ressembler à une bonne candidature, mais je suis sous Ubuntu 11.04. On dirait qu'ils n'en ont pas .debpour ma version.

N'importe qui a une alternative à Phatch ou toute autre recommandation pour convertir rapidement par lots tifen jpegfichiers.

Je cherche une solution non-Photoshop (ala Wine).

chrisjlee
la source

Réponses:

77

Facile. Installez imagemagick :

sudo apt-get install imagemagick

Son utilisation la plus simple est:

convert File.tif File.jpg

C'est intelligent et va par votre extension de fichier.

Maintenant, pour faire des conversions par lots, nous allons utiliser une boucle.

Allez dans le répertoire où se trouvent vos fichiers tif.

puis:

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

Lire aussi comme:

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

Ça devrait le faire!

En outre, une fois que vous avez converti tous les fichiers et vérifié l'intégrité du nouveau fichier jpg, exécutez-le simplement rm *.tifdans ce répertoire pour supprimer tous vos anciens fichiers .tif. Soyez prudent avec les astérisques cependant, n’ajoutez pas d’espace après le *ou vous supprimerez tous vos fichiers du répertoire.

Conseil: Si vous avez un dossier avec des sous-dossiers contenant ces images. Vous pouvez utiliser cette boucle for pour trouver tous les fichiers .TIF dans ce dossier:

for f in $(find -name *.tif); do ...; done
Mat
la source
Est-ce censé imprimer Converting filename.tifou Converting filename?
Nitrate de sodium
1
@sodiumnitrate, il indiquera "Conversion of filename.tif". la basenamecommande prend 2 arguments, par exemple basename file.tif .tif, retournera "fichier" en supprimant l'extension .tif. Vous pouvez modifier la boucle pour indiquer "Conversion du nom de fichier.tif en nom de fichier.jpg" avec la même commande de nom de base, si vous le souhaitez.
Matt
findLe premier argument de devrait être le chemin, donc la dernière ligne devrait être for f in $(find . -name *.tif); do ...; done(puisque nous avons cdédité dans le répertoire avant). J'ai essayé de modifier la réponse de @ Matt, mais les modifications doivent comporter au moins 6 caractères pour une raison quelconque.
Mrtnmgs
Merci ..................................... travail
balaji
22

J'ai trouvé cette question en essayant de le faire moi-même, vous pouvez également le faire comme suit:

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

ou le mettre dans un sous-répertoire

mkdir jpg
convert *.tiff -set filename: "%t" jpg/%[filename:].jpg
Robert Bak
la source
1
Oui, pour la gestion intégrée du nom de fichier.
beerbajay
Cela a très bien fonctionné pour moi avec les fichiers png. Le comportement pour les pdf était différent, cependant.
wdkrnls
J'aimerais beaucoup que cela fonctionne. Toutefois, une erreur de bus sur ImageMagick 6.6.9-7 2014-03-06 Q16 (OpenMP) sous Ubuntu 64 a été signalée. La réponse acceptée fonctionne bien.
TFuto
Un mot d'avertissement: Cela m'a bloqué tout le système (GNOME 3) et j'ai dû arrêter l'ordinateur
0__
2

Imagemagick devrait pouvoir les convertir. C'est un paquet de programmes en ligne de commande, si cela vous convient.

Une partie de cela est converti -

homme converti:

convert - convertit entre les formats d'image, redimensionne, floue, recadre, supprime, supprime, dither, dessine, bascule, jointure, ré-échantillonnage, etc.

marto
la source
1
La réponse de Matt est bien plus utile
marto, le
1
Ouaip. Tu es juste là.
chrisjlee
1

Si vous préférez une application graphique, vous pouvez installer Phatch via les référentiels normaux. Ouvrez simplement le Centre de logiciel Ubuntu et recherchez-le. Je ne suis plus sur 11.04 mais je l'avais installé à l'époque.

Faire
la source
1

Les réponses ci-dessus sont utilisées *.tifpour la sélection tif, mais cela renverra une erreur si vous avez trop de fichiers dans votre répertoire de travail actuel. Une solution de contournement simple consiste à utiliser un script python pour convertir chaque fichier du fichier cwd:

import glob, os

for c, i in enumerate(glob.glob('ecco_images/*')):
  print(' * converting', i)
  os.system('convert ' + i + ' ' + i.replace('.TIF','.jpg'))
duhaime
la source
for f in *.tifne sera pas erreur, mais convert *.tifsera.
Muru
Ah, merci @muru! Je pensais que l'extension serait la même au niveau os, mais je suis heureux d'être corrigé.
duhaime
0

J'aimerais ajouter à la réponse de @ Matt que si vous souhaitez que les fichiers soient enregistrés dans les sous-dossiers, vous pouvez effectuer les opérations suivantes:

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

Cela résout également le problème si votre chemin / nom de fichier contient des espaces.

JTIM
la source
0

La solution graphique GIMP utilisant un plugin de traitement par lots

Fonctionne sous Ubuntu 18.04 avec GIMP 2.8


Fenêtre de dialogue de saisie de processeur par lots

Fenêtre de dialogue de saisie de processus par lots


Fenêtre de dialogue de sortie du processeur par lots

Fenêtre de dialogue de sortie du processeur par lots


instructions d'installation

1 - Téléchargez le fichier de plug-in actuel à partir de DBP - page d'accueil du processeur par lots de David sur votre bureau. Pour Ubuntu 18.04 ruinant Gimp 2.8, le fichier qui fonctionnait pour moi était dbpSrc-1-1-9.tgz .

2 - Prenez quelques fichiers de développement GIMP:

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

3 - Basculez vers le répertoire du code source du système:

cd /usr/src/

4 - Extrayez le plugin de votre bureau vers son propre répertoire de code source. Remplacez [nom d'utilisateur] par votre nom d'utilisateur actuel et utilisez le nom de fichier que vous avez téléchargé ci-dessus à l'étape 1:

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

5 - Changer le répertoire du code source du plugin:

cd dbp-1.1.9

6 - Compiler le plugin:

sudo make

7 - Installer le plugin:

sudo make install

8 - Lancez GIMP et vous trouverez le plugin sous Menu-> Filtres-> Traitement par lots ..

GIMP Batch Process .. Chemin du menu

SunnyDaze
la source