Как преобразовать файлы GIF в PNG или JPEG в OS X с помощью командной строки?

15

У меня есть 10k + GIF-файлы, которые мне нужно конвертировать в PNG или JPEG, желательно с использованием командной строки, чтобы я мог автоматизировать их. Я не беспокоюсь о потере качества или прозрачности, просто нужно подготовить файлы для программного обеспечения OCR.

При попытке использовать convertformatя получаю это:

Error in pixReadStreamGif: function not present
Error in pixReadStream: gif: no pix returned
Error in pixRead: pix not read
Error in pixGetDepth: pix not defined
Error in pixWrite: pix not defined

Есть идеи?

Шерзод
источник

Ответы:

34

Нет необходимости в каких-либо дополнительных инструментах. OS X имеет sips, который может конвертировать изображения в (почти) любой формат.

Например, чтобы преобразовать каждый .gifв .jpeg, поместив их в папку с именем jpegs:

mkdir jpegs
sips -s format jpeg ./*.gif --out jpegs

Или, чтобы рекурсивно конвертировать их, используя find, который поместит файл JPEG с тем же именем, что и GIF, рядом с ним.

find . -iname "*.gif" -type f -exec sh -c 'sips -s format jpeg "$0" --out "${0%.gif}.jpeg"' {} \;
slhck
источник
man sips ← Эта страница справочника для Mac OS X версии 10.9: sips - система обработки изображений с поддержкой сценариев.
iolsmit
2

Я вижу довольно старый вопрос, но, к сожалению, решение slhck два не работает для меня (OS X Mountain Lion, bash) Я получаю ошибку.

Этот работает для меня (после cd my_dir_with_gifкоманды, конечно):

for i in *.gif; do sips -s format jpeg "${i}" --out "${i%gif}jpg"; done

И если вы хотите установить сжатие JPG ( [low|normal|high|best|<percent>])

for i in *.gif; do sips -s format jpeg -s formatOptions 100 "${i}" --out "${i%jpg}png"; done

Для других форматов вы должны изменить расширения (помня формат sips jpg jpeg, расширение может быть .jpg)

Это используя, sipsно даже лучше ImageMagick. Это отличный инструмент, и я предлагаю установить его, используя домашнюю страницуbrew see brew.

Стив
источник
0

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

vonbrand
источник