Пакетна обробка зображень TIF? Перетворення .tif у .jpeg


41

Я намагаюся масово перетворити кілька .tifфайлів. Я виявив, що фетч може виглядати як хороший кандидат, але я працюю на Ubuntu 11.04. Схоже, вони не мають .debдля моєї версії.

У когось є будь-які альтернативи птаху або будь-які інші рекомендації щодо швидкого пакетного перетворення tifу jpegфайли.

Я шукаю рішення, яке не стосується Photoshop (ala Wine).

Відповіді:


75

Легко. Встановити Imagemagick :

sudo apt-get install imagemagick

Найпростіше використання:

convert File.tif File.jpg

Це розумно і йде за вашим розширенням файлу.

Тепер для пакетних перетворень будемо використовувати цикл.

CD в ​​каталог, де є ваші файли tif.

тоді:

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

Читайте також як:

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

Це має робити!

Крім того, коли ви конвертуєте всі файли та перевіряєте цілісність нового jpg, просто запустіть rm *.tifу цьому каталозі, щоб видалити всі ваші старі файли .tif. Будьте обережні з зірочками, проте не додайте пробілів після *, або ви видалите всі свої файли в каталозі.

Порада: Якщо у вас є папка з папками, в якій містяться ці зображення. Ви можете використовувати це для циклу, щоб знайти всі .TIF файли у цій папці:

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

Це слід друкувати Converting filename.tifчи Converting filename?
натрійнітрат

1
@sodiumnitrate він скаже "Перетворення імені файлу.tif". basenameкоманда приймає 2 аргументу, наприклад , basename file.tif .tifповертає «файл» Зачистка .tif розширення геть. Ви можете змінити цикл, щоб сказати "Перетворення filename.tif у filename.jpg" з тією ж командою basename, якщо ви хочете.
Метт

findпершим аргументом повинен бути шлях, так що останній рядок повинен бути for f in $(find . -name *.tif); do ...; done(оскільки ми cdредагували в каталозі раніше). Я спробував редагувати відповідь @ Метта, але зміни повинні бути, принаймні, 6 символів чомусь.
mrtnmgs

Дякую ..................................... працює
баладжі

22

Я знайшов це питання, намагаючись зробити це сам, для подальшого використання ви також можете зробити це так:

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

або помістити його у підкаталог

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

1
Так, для вбудованої обробки файлів.
beerbajay

Це добре працювало для мене і з файлами png. Однак поведінка у форматі PDF була різною.
wdkrnls

Мені б хотілося, щоб це працювало, однак це повідомило про помилку шини на ImageMagick 6.6.9-7 2014-03-06 Q16 (OpenMP) на Ubuntu 64. Прийнята відповідь справно працює.
TFuto

Слово попередження: Це заморозило для мене всю систему (GNOME 3), і мені довелося жорстко вимкнути комп’ютер
0__

2

Imagemagick повинен мати можливість їх перетворити. Це пакет програм командного рядка, якщо ви з цим добре.

Частина цього - конвертувати -

перетворити:

конвертувати - конвертувати між форматами зображень, а також змінювати розмір зображення, розмивати, обрізати, обережнювати, відшаровувати, малювати, перевертати, приєднуватися, переглядати зразки та багато іншого.


1
Відповідь Метта насправді набагато корисніша
березень

1
Так. Ти там.
chrisjlee

1

Якщо ви віддаєте перевагу додатку GUI, ви можете встановити Phatch через звичайні сховища. Просто відкрийте програмний центр Ubuntu і знайдіть його. Я вже не 11.04, але тоді я його встановив.


1

Наведені вище відповіді використовуються *.tifдля вибору tif, але це призведе до помилки, якщо у вашому поточному робочому каталозі у вас занадто багато файлів. Просте вирішення полягає у використанні сценарію python для перетворення кожного файлу в cwd:

import glob, os

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

for f in *.tifне помилиться, але convert *.tifбуде.
muru

Ах, дякую @muru! Я думав, що * розширення буде однаковим на рівні os, але я радий, що буде виправлено.
duhaime

0

Я хотів би додати у відповідь @ Метта, що якщо ви хочете, щоб файли зберігалися у підпапках, ви можете зробити наступне:

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

Це також вирішує проблему, якщо у вашому файловому шляху / імені є пробіли


0

Рішення GIMP GUI, використовуючи плагін пакетного процесу

Працює в Ubuntu 18.04 за допомогою GIMP 2.8


Діалогове вікно введення пакетного процесора

Діалогове вікно введення пакетного процесу


Діалогове вікно вихідних пакетних процесорів

Діалогове вікно вихідних пакетних процесорів


Інструкції з Інсталяції

1 - Завантажте поточний файл плагінів з домашньої сторінки DBP - Batch Processor David на робочий стіл. Для Ubuntu 18.04, що руйнує Gimp 2.8, файл, який працював для мене, був dbpSrc-1-1-9.tgz .

2 - Візьміть кілька файлів розробки GIMP:

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

3 - Перехід до каталогу системного вихідного коду:

cd /usr/src/

4 - Витягніть плагін зі свого робочого столу до власного каталогу вихідного коду. Замініть [ім'я користувача] на ваше поточне ім'я користувача та використовуйте ім'я файлу, яке ви завантажили вище на кроці 1:

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

5 - Змінення до каталогу вихідного коду плагіна:

cd dbp-1.1.9

6 - Скомпілюйте плагін:

sudo make

7 - Встановіть плагін:

sudo make install

8 - Запустіть GIMP, і ви знайдете плагін під меню-> Фільтри-> Пакетний процес ..

Пакетний процес GIMP .. Шлях до меню

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.