Я хочу преобразовать пакет изображений, почти 100, от jpg до png формата. Как я могу сделать это, не переименовывая их, но вместо этого на самом деле преобразовав формат?
Попробуйте эти команды,
mogrify -format png /path/*.jpg
Это преобразует все .jpg файлы в .png файлы и сохранило преобразованные файлы в том же каталоге.
mv /path/*.png ~/Desktop/pic
Это будет перемещаться весь эти .png
файлы (преобразованные) в pic
каталог, который находится на Рабочем столе.
Используя ImageMagick.
Первая установка imagemagick:
sudo apt-get install imagemagick
Попытка, преобразовывающая всего одно изображение сначала:
convert image.jpg image.png
Теперь преобразовывают все:
mogrify -format png *.jpg
РЕДАКТИРОВАНИЕ
также необходимо разделить его на блоки, которые будут соответствовать, чтобы не поражать предел того, насколько можно поставить командную строку. Это должно работать лучше:
find -name '*.jpg' -print0 | xargs -0 -r mogrify -format png
-print0
и -0
используются для обработки пробелов в именах файлов и -r
, средства не выполняют mogrify, если там не имеет отношения.
Источник: https://РЕДАКТИРОВАНИЕ stackoverflow.com/questions/1010261/running-a-batch-with-imagemagick
2 Коммутируемый png и jpg согласно комментарию @Glutanimate.
РЕДАКТИРОВАНИЕ 3 Измененный png к jpg в последнем предложении.
Я знаю, что это было долгое время, так как этот вопрос был помещен, но существует одна блестящая часть программного обеспечения, которое не было упомянуто, что я использовал много.
http://photobatch.wikidot.com/, также известный как Phatch. Это буквально преобразовывает что-либо от чего-либо до чего-либо еще в условиях изображения. Это не было обновлено некоторое время, но теперь утверждает, что было выпущено для человечности 17.10. Попробуйте. Я уверен, что Вы будете очень довольны им.
Во-первых, конвертировать работает. Вам не нужно это проверять. Во-вторых, для этой цели подходит bash oneliner:
$ for file in Ground*jpg; do { \
echo "Converting $file to `echo $file|cut -d. -f1`.png" ;\
convert $file `echo $file|cut -d. -f1`.png ; } done
Rockin 'it auldskewl;)
Cheers