Imagemagickコマンドmogrifyを使用して、元のファイルを同じディレクトリに保持しながら、多数のJPEG画像を変換(圧縮)しようとしています。ターミナルウィンドウに入力しています:mogrify -quality 25%* .JPEG con-%002d.JPEGすると、エラーが発生します:mogrify:画像を開くことができません `con-%002d.JPEG ':そのようなファイルまたはディレクトリはありません@エラー/blob.c/OpenBlob/2712。このエラーを解決するにはどうすればよいですか?実行しました:identify -verbose * | grep形式と結果はすべてのファイル用です:形式:JPEG(Joint Photographic Experts Group JFIF形式)exif:thumbnail:JPEGInterchangeFormat:10718 exif:thumbnail:JPEGInterchangeFormatLength:8223
私のシステムはXubuntu16.04です。Vladiに感謝します。
マニュアルページによると、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
同じ画像を2回モグリ化した
$ 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
上記のコマンドは、変換された画像を新しい名前に書き込みます:convertingname.jpgtoname_q30.jpg、name1.jpgからname1_q30.jpg 。古いファイルを安全に保つ。
その他のパーセンテージエスケープメタデータオプションについては、 docs を参照してください。