Bagaimana cara memutar satu set gambar dari baris perintah?


17

Saya memiliki banyak gambar JPEG dengan resolusi yang sama. Butuh waktu terlalu lama untuk membuka masing-masing di dalam antarmuka grafis imagemagic atau gimp.

Bagaimana caranya agar setiap gambar diputar dan disimpan sebagai nama file yang sama?


3
Lihat di sini . Namun berhati-hatilah bahwa encoding ulang JPEG pada umumnya lossy.
— Satō Katsura

Jawaban:


22

Anda dapat menggunakan convertperintah:

 convert input.jpg -rotate -degrees out.jpg

misalnya:

convert input.jpg -rotate -180 out.jpg

Simpan dengan nama yang sama:

convert file.jpg -rotate -180 file.jpg

Putar semua file:

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

Edit

Anda dapat menggunakan mogrifyalat baris perintah (alat terbaik) yang direkomendasikan oleh @ don-crissti

mogrify -rotate 90 *.jpg

1
thx, bagaimana saya memberi tahu perintah bahwa nama file kiri -rotate -180 harus sama dengan haknya, jika ada banyak file?
— sharkant

Memutar file 180 derajat akan selalu memberi Anda hasil yang sama, tidak masalah jika Anda memutarnya ke kiri atau kanan.
— djsmiley2k dalam kegelapan

@ GAD3R 360 derajat akan menghasilkan gambar yang sama sesudahnya. Memutar gambar ke kiri atau kanan sebesar 180 derajat, dengan keduanya memberi Anda gambar yang sama (tetapi terbalik).
— djsmiley2k dalam kegelapan

2
$CAPITAL_NAMESharus diserahkan kepada variabel lingkungan; untuk variabel-variabel lokal dalam skrip atau perintah shell gunakan$normal_lowercase
— cat

2
convertmengkode ulang JPEG dan karenanya lossy. Penggunaan yang lebih baikjpegtran
— imz - Ivan Zakharyaschev

16

Untuk gambar JPEG dan rotasi sudut kanan, gunakan jpegtranatau exiftran, karena dapat memutar gambar tanpa kehilangan.

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

Atau untuk memutar di tempat:

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

exiftranjuga memiliki -abendera untuk secara otomatis memutar gambar berdasarkan apa yang dikatakan tag orientasi EXIF.


Untuk rotasi berlawanan arah jarum jam (sudut kiri) dengan jpegtran, gunakan -rotate 270dan dengan -2bendera penggunaan exiftran sesuai dengan manual.
— Timo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.