Batch processing tif images? Converting .tif to .jpeg

I’m trying to mass convert a handful of .tif files. I found phatch could look like a good candidiate but I’m running Ubuntu 11.04. Looks like they don’t have a .deb for my version.

Anyone have any alternatives to phatch or any other recommendations as to quickly batch convert tif to jpeg files.

I’m looking for a non-Photoshop (ala Wine) solution.

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

Easy. Install imagemagick:

sudo apt install imagemagick

Its simplest usage is:

convert File.tif File.jpg

It is smart and goes by your file extension.

Now, for doing batch conversions, we shall use a loop.

cd into the directory where your tif files are.

then:

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

Read also as:

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

That should do it!

Also, once you convert all of the files and verify the new jpg’s integrity, just run rm *.tif in that directory to delete all your old .tif files. Be careful with asterisks though, don’t add a space after the *, or you will delete all your files in the directory.

Tip: If you have a folder with subfolders that holds these images. You could use this for loop to find all .TIF files within that folder:

for f in $(find -name *.tif); do ...; done

Solution 2

I found this question while trying to do it myself; for future reference you can also do it like this:

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

or to put it in a subdirectory

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

Solution 3

Use mogrify, the tool intended for batch processing inside ImageMagick

mogrify -format jpg *.tif

In case you don’t have ImageMagick:

sudo apt-get install imagemagick

Solution 4

Imagemagick should be able to convert them. It is a package of commandline programs, if you are OK with that.

Part of that is convert

man convert:

convert – convert between image formats as well as resize an image,
blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much
more.

Solution 5

If you prefer a GUI application, you can install Phatch through the normal repositories. Just open Ubuntu Software Center and search for it. I’m not on 11.04 anymore but I had it installed back then.

Solution 6

The answers above use *.tif for tif selection, but this will return an error if you have too many files in your current working directory. A simple workaround is to use a python script to convert each file in the cwd:

import glob, os

for c, i in enumerate(glob.glob('ecco_images/*')):
  print(' * converting', i)
  os.system('convert ' + i + ' ' + i.replace('.TIF','.jpg'))

Solution 7

The GIMP GUI Solution Using a Batch Process Plugin

Works in Ubuntu 18.04 using GIMP 2.8

Batch Processor Input dialog window

Batch processing tif images? Converting .tif to .jpeg

Batch Processor output dialog window

Batch processing tif images? Converting .tif to .jpeg

Installation Instructions

  1. Download the current plugin file from DBP – David’s Batch Processor homepage to your desktop. For Ubuntu 18.04 running Gimp 2. 8 the file that worked for me was
    dbpSrc-1-1-9.tgz.

  2. Grab some GIMP development files:

    sudo apt-get install libgimp2.0-dev gcc cpp g++
    
  3. Switch to the system source code directory:

    cd /usr/src/
    
  4. Extract the plugin from your Desktop to its own source code directory. Replace [username] with your current username, and use the filename that you downloaded above in step 1:

    sudo tar -xvzf /home/[username]/Desktop/dbpSrc-1-1-9.tgz
    
  5. Change to the plugin’s source code directory:

    cd dbp-1.1.9
    
  6. Compile the plugin:

    make
    
  7. Install the plugin:

    sudo make install
    
  8. Start GIMP and you will find the plugin under Menu > Filters > Batch Process

    Batch processing tif images? Converting .tif to .jpeg

Solution 8

I would like to add to @Matt’s answer that if you would like the files to be saved in the subfolders you can do the following:

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

This also handles the issue if your file-path/name has spaces in it.

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply