커맨드 라인에서 사진 세트를 회전시키는 방법? 해상도가 동일한 JPEG

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

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



답변

다음 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

답변

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