Pillow를 활용한 Python 이미지 회전 방법을 알아보겠습니다.
목차
Python 이미지 회전(180도) 방법
Python Pillow 픽셀(pixel) 값 변경 방법에서 최종적으로 만들었던 이미지 c.png를 사용해서 이미지 회전 방법을 알아보도록 하겠습니다. 해당 이미지는 아래와 같습니다.
![그림 1. Python 이미지 회전을 위해 사용할 예제 이미지](https://osg.kr/wp-content/uploads/2023/04/image-10.png)
이미지를 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도 회전한 이미지](https://osg.kr/wp-content/uploads/2023/04/image-12.png)
이미지 90도 회전 방법
상수 이용을 위한 클래스 Transpose에는 아래와 같은 값들이 저장되어 활용되고 있습니다. 따라서 희망하는 회전 각도에 따라 해당 상수를 이용하면 됩니다. 다음과 같이 코드에서 Transpose.ROTATE_180 대신에 Transpose.ROTATE_90을 사용한 결과는 그림 3과 같습니다.
im_rotated = im.transpose(Transpose.ROTATE_90)
Python보시면, 회전하는 방향은 시계 반대방향으로 회전합니다.
![그림 3. 90도 회전한 이미지](https://osg.kr/wp-content/uploads/2023/04/image-13.png)
이미지 270도 회전 방법
마찬가지로 Transpose.ROTATE_270을 사용해서 회전한 이미지는 아래와 같습니다. 코드의 사용법은 동일하므로 생략합니다.
![그림 4. 270도 회전한 이미지](https://osg.kr/wp-content/uploads/2023/04/image-14.png)
관련 자료
Pillow의 Image 클래스 문서를 참고했습니다.