6

Как несколько файлов изображений TIFF могут быть преобразованы в файлы JPEG в пакетном режиме?

Обновление 1: convert в Linux (часть ImageMagick), как предложила мисс Челлани, и glallen работал. Это было просто. Я загрузил ISO-образ версии нетбука Kubuntu 9.1, записал его на DVD-диск, перезапустил, запустил окно командной строки, изменил текущий каталог на каталог inter2.tif и набрал:

    convert -separate inter2.tif new_inter2.jpeg

Это создало 3 ожидаемых изображения, new_inter2-0.jpeg, new_inter2-1.jpeg и new_inter2-2.jpeg. Были отображены некоторые сообщения об ошибках:

convert: incorrect count for field "DateTime" (21, expecting 20); tag trimmed. `inter2.tif' @ tiff.c/TIFFWarnings/526.
convert: inter2.tif: unknown field with tag 317 (0x13d) encountered. `TIFFReadDirectory' @ tiff.c/TIFFWarnings/526.
convert: inter2.tif: unknown field with tag 33628 (0x835c) encountered. `TIFFReadDirectory' @ tiff.c/TIFFWarnings/526.

У меня много микроскопических изображений клеток. Они представлены в формате TIFF , один файл TIFF на изображение образца / ячейки и 3 канала / изображения в каждом файле TIFF (3 различных длины волны света).

Файлы TIFF необходимо преобразовать в файлы JPEG пакетным способом (вмешательство пользователя не требуется), 3 файла JPEG для каждого файла TIFF (соответствует 3 длинам волн).

Я пытался использовать инструмент командной строки tiffsplit , который входит в LibTIFF сделать первый шаг, извлекая 3 изображения из исходного TIFF 3 новых TIFF файлов. Но происходит сбой с файлами TIFF, которые у меня есть (в Windows XP 64 бит, DEP включен). Сообщение об ошибке:

Unhandled exception at 0x6fd853d1 in tiffsplit.exe: 0xC0000005: Access violation writing location 0x6fdc8ddb

Знаете ли вы о другом решении? Либо в Windows, либо в Linux.

Вот пример файла TIFF (3,8 МБ). Составное изображение (один файл JPEG, созданный путем импорта в MS Paint и сохранения в формате JPEG), чтобы получить представление о том, что это такое:

альтернативный текст

4 ответа4

7

IrfanView обладает отличными возможностями пакетной обработки.

Irfan View

IrfanView также поддерживает операции командной строки

i_view32.exe c:\myimages\*.tif /convert=c:\images\*.jpg

Вот ссылка на руководство командной строки

4

Попробуйте convert или mogrify с помощью ImageMagick. Больше инструкций от ubuntuforums.org.

2

Возможно, есть немного более элегантный способ, но он должен сделать это для вас:

for FILE in $(ls *.tif); do \
    for I in R G B; do \
       convert -channel $I -separate -format jpg $FILE $FILE-$I.jpg ; \
    done ; \
done ; \ 
rename s/\.tif\-/\-/ *.jpg
1

Помимо отличных отдельных инструментов от ImageMagick, есть также этот простой инструмент командной строки под названием img2img, в который встроен компонент преобразования ImageMagick. Он поддерживает множество форматов и может автоматически определять форматы ввода. Вы можете выполнить пакетное преобразование следующим образом (обязательно запустите его в каталоге со всеми файлами .tiff):

for /f "delims=." %x in ('dir /b *.tiff') do img2img "%x.tiff" "%x.jpeg"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .