Я пытаюсь преобразовать (сжать) кучу изображений 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 ответа2

1

Согласно man-странице, 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
0

Используйте -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. Храните ваши старые файлы в безопасности.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .