Конвертируйте (сжимайте) изображения JPEG с помощью mogrify, сохраняя исходные файлы в том же каталоге

Я пытаюсь преобразовать (сжать) кучу изображений JPEG с помощью команды imagemagick mogrify, сохраняя исходный файл в той же директории. Я набираю в окне терминала: mogrify -quality 25% *.JPEG con%002d.JPEG, затем я получаю ошибку: mogrify: невозможно открыть изображение `con%002d.JPEG': такого файла или каталога @ error нет /blob.c/OpenBlob/2712. Как я могу решить эту ошибку? Я запустил: определить -бербос * | grep Формат и результат для всех файлов: Формат: JPEG (формат JFIF Объединенной группы экспертов по фотографии) exif: уменьшенное изображение:JPEGInterchangeFormat: 10718 exif: уменьшенное изображение:JPEGInterchangeFormatLength: 8223

У меня система Xubuntu 16.04, спасибо за помощь, Влади.

2 ответа

Решение

По справочной странице mogrify не принимает параметр вывода, он просто перезаписывает входной файл, если формат не изменен (то же имя используется вплоть до расширения файла).

Попробуйте это используя convert вместо.

#!/bin/bash
n=1
for i in *.JPEG; do 
    convert "$i" -format jpg -quality '25%' $(printf con-%03d.JPEG $n)
    n=$((n+1))
done

JPEG против JPG

Я дважды замаскировал одно и то же изображение

$ mogrify -format JPEG b.jpg
$ mogrify -format jpg b.jpg

затем

$ diff -u <(identify -verbose b.jpg ) <(identify -verbose b.JPEG)
--- /dev/fd/63  2018-09-29 14:42:27.506462707 -0400
+++ /dev/fd/62  2018-09-29 14:42:27.510462929 -0400
@@ -1 +1 @@
-Image: b.jpg
+Image: b.JPEG
@@ -71,2 +71,2 @@
-    date:create: 2018-09-29T14:37:11-04:00
-    date:modify: 2018-09-29T14:37:11-04:00
+    date:create: 2018-09-29T14:37:03-04:00
+    date:modify: 2018-09-29T14:37:03-04:00
@@ -77 +77 @@
-    filename: b.jpg
+    filename: b.JPEG

использование -write

mogrify -set filename:name '%t_q%Q' -quality 30 -write '%[filename:name].jpg' *.jpg

Приведенная выше команда запишет преобразованное изображение в новое имя: преобразование name.jpg в name_q30.jpg, name1.jpg в name1_q30.jpg. Храните ваши старые файлы в безопасности.

Другие параметры метаданных по процентам экранирования см. В документации.

Другие вопросы по тегам