Làm thế nào để xoay một bộ hình ảnh từ dòng lệnh?


17

Tôi có một bộ ảnh JPEG lớn với cùng độ phân giải. Sẽ mất quá nhiều thời gian để mở từng cái bên trong giao diện đồ họa của hình ảnh hoặc gimp.

Làm cách nào để đạt được mỗi hình ảnh được xoay và lưu dưới cùng tên tệp?


3
Xem tại đây . Tuy nhiên, hãy coi chừng việc mã hóa lại JPEG thường bị mất.
Satō Katsura

Câu trả lời:


22

Bạn có thể sử dụng convertlệnh:

 convert input.jpg -rotate -degrees out.jpg

ví dụ:

convert input.jpg -rotate -180 out.jpg

Lưu nó với cùng tên:

convert file.jpg -rotate -180 file.jpg

Xoay tất cả các tệp:

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

Biên tập

Bạn có thể sử dụng các mogrifycông cụ dòng lệnh (công cụ tốt nhất) được đề xuất bởi @ don-crissti

mogrify -rotate 90 *.jpg

1
Thx, làm thế nào để tôi nói lệnh rằng tên tệp bên trái của -rotate -180 phải giống với bên phải của nó, nếu có nhiều tệp?
cá mập

Xoay một tệp 180 độ sẽ luôn cho bạn kết quả tương tự, bất kể bạn xoay nó sang trái hay phải.
djsmiley2k trong bóng tối

@ GAD3R 360 độ sẽ dẫn đến cùng một hình ảnh sau đó. Xoay một hình ảnh sang trái hoặc phải 180 độ, với cả hai đều cho bạn cùng một hình ảnh (nhưng lộn ngược).
djsmiley2k trong bóng tối

2
$CAPITAL_NAMESnên để các biến môi trường; đối với các biến cục bộ đó trong tập lệnh shell hoặc lệnh sử dụng$normal_lowercase
cat

2
convertmã hóa lại JPEG và do đó bị mất. Sử dụng tốt hơnjpegtran
imz - Ivan Zakharyaschev

16

Đối với hình ảnh JPEG và xoay góc phải, hãy sử dụng jpegtranhoặc exiftran, vì chúng có thể xoay hình ảnh một cách dễ dàng.

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

Hoặc để xoay tại chỗ:

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

exiftrancũng có -acờ để tự động xoay hình ảnh dựa trên những gì thẻ định hướng EXIF ​​nói.


Đối với xoay ngược chiều kim đồng hồ (góc trái) với jpegtran, sử dụng -rotate 270và với -2cờ sử dụng exiftran theo hướng dẫn.
Timo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.