Массовое преобразование изображений из одного формата в другой?
44
Я хочу конвертировать пакет изображений, почти 100, из формата JPG в PNG. Как я могу сделать это, не переименовывая их, а вместо этого фактически конвертируя формат?
Используйте convertкоманду. Нет, правда. Но вам захочется переименовать их из some.jpg в нечто.png.
Jos
1
@jos, из твоего комментария я не понимаю, что мне делать !!
opu 웃
Я не закончил редактирование ;-) Сначала используйте convertкоманду для одного файла .jpg и посмотрите, работает ли он. Затем напишите скрипт, который перебирает файлы .jpg и преобразует их в файлы .png.
Йос
Вы не упомянули, как я могу использовать convertкоманду в одном файле .jpg. И я не знаю, как написать скрипт, который перебирает файлы .jpg.
opu 웃
Ответы:
65
Попробуйте эти команды,
mogrify -format png /path/*.jpg
Это преобразует все файлы .jpg в файлы .png и сохраняет преобразованные файлы в том же каталоге.
mv /path/*.png ~/Desktop/pic
Это переместит все .pngфайлы (преобразованные) в picкаталог, который находится на рабочем столе.
/path/*.jpgпредставляет каталог, в котором хранятся файлы .jpg.
Авинаш Радж
Я также попробовал эту команду после изменения каталога: mogrify -format png .jpgэто также работает хорошо.
opu 웃
Ответ ниже лучше , так как он учитывает ограничения, установленные для ARGV.
Эван Кэрролл,
Здесь есть отличное руководство: algissalys.com/how-to/… Также рассказывает об изменении размера изображения, что полезно, т.е. добавление -resize 800x меняет самую длинную сторону до 800 :)
Крейг Лэмби
42
Использование ImageMagick .
Сначала установите imagemagick:
sudo apt-get install imagemagick
Попробуйте сначала конвертировать только одно изображение:
convert image.jpg image.png
Теперь конвертируем все:
mogrify -format png *.jpg
РЕДАКТИРОВАТЬ
Вам также нужно разбить его на куски, которые будут соответствовать, чтобы не превысить предел того, сколько вы можете поместить в командную строку. Это должно работать лучше:
Одно изображение успешно конвертировано. Но когда я использовал команду, чтобы преобразовать все ее mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
показы
cdСначала вам придется перейти в этот каталог. Если они находятся на рабочем столе, cd ~/Desktopсначала запустите, а затем попробуйте снова выполнить преобразование.
Парто
Я изменил каталог
opu 웃
@ Парто, думаю, так и должно быть mogrify -format png *.jpg. ОП спрашивает о конвертации jpg → png.
Glutanimate
не работал у меня с 14.04 @Parto
talha06
0
Я знаю, что прошло много времени с тех пор, как был задан этот вопрос, но есть одна замечательная программа, о которой я не упомянул, которую я часто использовал.
http://photobatch.wikidot.com/ также известный как Phatch. Он буквально преобразует что-либо из чего-либо в изображение. Некоторое время он не обновлялся, но теперь утверждает, что выпущен для Ubuntu 17.10. Попробуйте. Я уверен, что вы будете очень довольны этим.
Попытка получить это программное обеспечение, ссылка «скачать» на файл deb отсутствует по вышеуказанной ссылке, а версия «хранилища» в Ubuntu выдает мне эту ошибку: следуют подробные ошибки от диспетчера пакетов: apt транзакция вернула результат exit-fail Ubuntu v 18.10 может быть? Во всяком случае - мой опыт.
convert
команду. Нет, правда. Но вам захочется переименовать их из some.jpg в нечто.png.convert
команду для одного файла .jpg и посмотрите, работает ли он. Затем напишите скрипт, который перебирает файлы .jpg и преобразует их в файлы .png.convert
команду в одном файле .jpg. И я не знаю, как написать скрипт, который перебирает файлы .jpg.Ответы:
Попробуйте эти команды,
Это преобразует все файлы .jpg в файлы .png и сохраняет преобразованные файлы в том же каталоге.
Это переместит все
.png
файлы (преобразованные) вpic
каталог, который находится на рабочем столе.источник
/path/*.jpg
представляет каталог, в котором хранятся файлы .jpg.mogrify -format png .jpg
это также работает хорошо.Использование ImageMagick .
Сначала установите imagemagick:
Попробуйте сначала конвертировать только одно изображение:
Теперь конвертируем все:
РЕДАКТИРОВАТЬ
Вам также нужно разбить его на куски, которые будут соответствовать, чтобы не превысить предел того, сколько вы можете поместить в командную строку. Это должно работать лучше:
-print0
И-0
используются для обработки пробелов в именах файлов и-r
средства не работают mogrify , если нет ничего , чтобы сделать.Источник: https://stackoverflow.com/questions/1010261/running-a-batch-with-imagemagick
РЕДАКТИРОВАТЬ 2 Переключил PNG и JPG в соответствии с комментарием @ Glutanimate.
РЕДАКТИРОВАТЬ 3 Изменено png на jpg в последнем предложении.
источник
mogrify.im6: unable to open image ``*.png': No such file or directory @ error/blob.c/OpenBlob/2638.``mogrify.im6: unable to open file ``*.png' @ error/png.c/ReadPNGImage/3667.
cd
Сначала вам придется перейти в этот каталог. Если они находятся на рабочем столе,cd ~/Desktop
сначала запустите, а затем попробуйте снова выполнить преобразование.mogrify -format png *.jpg
. ОП спрашивает о конвертации jpg → png.Я знаю, что прошло много времени с тех пор, как был задан этот вопрос, но есть одна замечательная программа, о которой я не упомянул, которую я часто использовал.
http://photobatch.wikidot.com/ также известный как Phatch. Он буквально преобразует что-либо из чего-либо в изображение. Некоторое время он не обновлялся, но теперь утверждает, что выпущен для Ubuntu 17.10. Попробуйте. Я уверен, что вы будете очень довольны этим.
источник