Как преобразовать файлы GIF в PNG или JPEG в OS X с помощью командной строки?
У меня есть 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
Есть идеи?
3 ответа
Нет необходимости в каких-либо дополнительных инструментах. 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 два не работает для меня (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
см. домашнюю страницу варева
Проверьте GraphicsMagick или ImageMagick, у них есть инструменты командной строки для всех видов искажения графических файлов (включая скучные вещи, такие как преобразование в другой формат).