Python 이미지 회전 방법(90, 180, 270도. feat. Pillow)

Pillow를 활용한 Python 이미지 회전 방법을 알아보겠습니다.

Python 이미지 회전(180도) 방법

Python Pillow 픽셀(pixel) 값 변경 방법에서 최종적으로 만들었던 이미지 c.png를 사용해서 이미지 회전 방법을 알아보도록 하겠습니다. 해당 이미지는 아래와 같습니다.

그림 1. Python 이미지 회전을 위해 사용할 예제 이미지
그림 1. Python 이미지 회전을 위해 사용할 예제 이미지

이미지를 180도 회전하는 것은 transpose 메서드와 Transpose.ROTATE_180 값을 전달해주면 됩니다.

from PIL import Image
from PIL.Image import Transpose

im = Image.open("c.png")
im_rotated = im.transpose(Transpose.ROTATE_180)
im_rotated.save("d.png")
Python

위의 코드를 실행해서 저장한 d.png의 내용은 아래와 같습니다.

그림 2. 180도 회전한 이미지
그림 2. 180도 회전한 이미지

이미지 90도 회전 방법

상수 이용을 위한 클래스 Transpose에는 아래와 같은 값들이 저장되어 활용되고 있습니다. 따라서 희망하는 회전 각도에 따라 해당 상수를 이용하면 됩니다. 다음과 같이 코드에서 Transpose.ROTATE_180 대신에 Transpose.ROTATE_90을 사용한 결과는 그림 3과 같습니다.

im_rotated = im.transpose(Transpose.ROTATE_90)
Python

보시면, 회전하는 방향은 시계 반대방향으로 회전합니다.

그림 3. 90도 회전한 이미지
그림 3. 90도 회전한 이미지

이미지 270도 회전 방법

마찬가지로 Transpose.ROTATE_270을 사용해서 회전한 이미지는 아래와 같습니다. 코드의 사용법은 동일하므로 생략합니다.

그림 4. 270도 회전한 이미지
그림 4. 270도 회전한 이미지

관련 자료

Pillow의 Image 클래스 문서를 참고했습니다.

같이 읽으면 좋은 글

Leave a Comment