이 글에서는 파이썬의 Pillow(PIL) 라이브러리를 사용하여 이미지를 회전하는 방법을 소개합니다. Pillow의 Image 클래스가 제공하는 rotate() 함수에 회전 각도를 인자로 전달하면, 해당 각도만큼 이미지를 손쉽게 회전시킬 수 있습니다.
원본 이미지
아래는 회전 처리 전의 원본 이미지입니다.

처리 순서
1단계: Pillow 라이브러리에서 Image 클래스를 임포트한다. 2단계: open() 함수로 대상 이미지 파일을 연다. 3단계: rotate() 함수에 회전 각도를 지정하여 이미지를 회전한다. 4단계: show() 함수로 결과 이미지를 화면에 출력한다.
예제 코드
from PIL import Image
im = Image.open('testimage.jpg')
im.rotate(45).show()위 코드는 testimage.jpg 파일을 열어 시계 반대 방향으로 45도 회전한 뒤, 기본 이미지 뷰어로 결과를 표시합니다. rotate() 함수의 각도 값은 양수일 경우 시계 반대 방향, 음수일 경우 시계 방향으로 회전됩니다.
실행 결과

추가 팁: rotate() 함수의 유용한 옵션
기본적으로 rotate()는 회전 후 생기는 빈 공간을 검은색으로 채우고, 이미지 크기는 원본과 동일하게 유지합니다. 필요에 따라 아래와 같은 옵션을 활용할 수 있습니다.
- expand=True: 회전된 이미지 전체가 잘리지 않도록 출력 크기를 자동으로 확장합니다.
- fillcolor: 회전으로 생긴 빈 영역을 지정한 색상으로 채웁니다. 예:
im.rotate(45, expand=True, fillcolor='white') - resample: 회전 시 사용할 보간 방식을 지정합니다. 품질을 높이려면
Image.BICUBIC을 사용하는 것이 좋습니다.
from PIL import Image
im = Image.open('testimage.jpg')
rotated = im.rotate(45, expand=True, fillcolor='white', resample=Image.BICUBIC)
rotated.show()이처럼 Pillow의 rotate() 함수는 한 줄의 코드로 이미지를 자유롭게 회전할 수 있는 강력하고 간편한 도구입니다.