커맨드 라인에서 사진 세트를 회전시키는 방법?


17

해상도가 동일한 JPEG 이미지 세트가 모두 있습니다. imagemagic 또는 gimp의 그래픽 인터페이스에서 각각을 여는 데 시간이 너무 오래 걸렸습니다.

각 사진을 회전시키고 동일한 파일 이름으로 저장하려면 어떻게해야합니까?


3
여기를 참조 하십시오 . 그러나 JPEG를 다시 인코딩하면 일반적으로 손실됩니다.
사토 카츠라

답변:


22

다음 convert명령을 사용할 수 있습니다 .

 convert input.jpg -rotate -degrees out.jpg

e, g :

convert input.jpg -rotate -180 out.jpg

동일한 이름으로 저장하십시오.

convert file.jpg -rotate -180 file.jpg

모든 파일을 회전시킵니다 :

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

편집하다

@ don-crissti에서mogrify 권장 하는 명령 줄 도구 (최상의 도구)를 사용할 수 있습니다

mogrify -rotate 90 *.jpg

1
thx, 파일이 많은 경우 -rotate -180의 왼쪽 파일 이름이 오른쪽과 동일해야한다는 명령을 어떻게 명령합니까?
상어

파일을 180도 회전하면 파일을 좌우로 회전하더라도 항상 동일한 결과를 얻을 수 있습니다.
어둠 속에서 djsmiley2k

@ GAD3R 360 도는 이후에 동일한 이미지가됩니다. 이미지를 왼쪽이나 오른쪽으로 180도 회전 시키면 둘 다 동일한 이미지를 제공합니다 (거꾸로).
어둠 속에서 djsmiley2k

2
$CAPITAL_NAMES환경 변수에 맡겨야합니다. 쉘 스크립트 또는 명령의 로컬 변수에 사용$normal_lowercase
cat

2
convertJPEG를 다시 인코딩하므로 손실됩니다. 더 나은 사용jpegtran
imz-Ivan Zakharyaschev

16

JPEG 이미지와 직각 회전, 사용 jpegtran또는 exiftran그들이 손실없이 이미지를 회전 할 수 있습니다로.

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또한 -aEXIF 방향 태그의 말에 따라 이미지를 자동으로 회전시키는 플래그가 있습니다.


반 시계 방향 (왼쪽 각도)로 회전 jpegtran사용 -rotate 270하고 exiftran 사용과 -2매뉴얼에 따라 플래그.
Timo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.