Command-Line

如何從命令行旋轉一組圖片?

  • March 29, 2021

我有一大組解析度相同的 JPEG 圖片。在 imagemagic 或 gimp 的圖形界面中打開每一個都需要很長時間。

如何實現每張圖片被旋轉並保存為相同的文件名?

您可以使用以下convert命令:

轉換 input.jpg -rotate *<角度以度為單位>* out.jpg

順時針旋轉 90 度:

convert input.jpg -rotate 90 out.jpg

要使用相同的名稱保存文件:

convert file.jpg -rotate 90 file.jpg

要旋轉所有文件:

for photo in *.jpg ; do convert $photo -rotate 90 $photo ; done

或者,您也可以使用@don-crisstimogrify推薦的命令行工具(最好的工具):

mogrify -rotate 90 *.jpg

對於 JPEG 圖像和直角旋轉,請使用jpegtranexiftran,因為它們可以無損地旋轉圖像。

for f in *.jpg ; do 
   jpegtran -rotate 180 "$f" > "${f%.jpg}-rotated.jpg"
done

或者就地旋轉:

for f in *.jpg ; do
   jpegtran -rotate 180 -outfile "$f" "$f"
done

exiftran還具有-a根據 EXIF 方向標籤所說的自動旋轉圖像的標誌。

引用自:https://unix.stackexchange.com/questions/365592