본문 바로가기
함수 설명/컴퓨터 비전 (OpenCV, PIL)

[PIL] 이미지 회전하기: Image.rotate() 사용 및 설명

by First Adventure 2024. 10. 13.
반응형

소개

  Image.rotate(angle, resample=0, expand=0, center=None, translate=None, fillcolor=None) 함수는 Pillow 라이브러리에서 제공하는 함수로, 이미지를 지정한 각도로 회전시키는 데 사용됩니다. 이 함수는 이미지의 중심을 기준으로 회전시키며, 회전 후 이미지를 확장할지, 회전 결과의 빈 공간을 어떤 색으로 채울지 등의 옵션을 제공합니다. 이미지 회전은 디지털 이미지 처리에서 흔히 사용되는 작업으로, 회전된 이미지를 다양한 목적에 맞게 사용할 수 있습니다.

 

기본 사용법

from PIL import Image

# 이미지 파일 열기
img = Image.open('sample_image.jpg')

# 이미지를 45도 회전
rotated_img = img.rotate(45)

# 회전된 이미지 저장
rotated_img.save('rotated_image.jpg')

상세 설명

  • angle: 이미지를 회전할 각도를 지정합니다. 양수 값은 시계 반대 방향, 음수 값은 시계 방향으로 회전합니다.
    • 예시: img.rotate(90)는 이미지를 90도 회전시킵니다.
  • resample (선택사항): 리샘플링 필터를 지정합니다. 고품질의 회전을 위해 Image.BICUBIC, Image.BILINEAR, Image.NEAREST 중 하나를 선택할 수 있습니다. 기본값은 0 (고정점 회전)입니다.expand (선택사항): 회전 후 이미지 크기를 확장할지 여부를 지정합니다. True로 설정하면 회전으로 인해 잘리는 부분이 없도록 이미지 크기가 자동으로 조정됩니다.
    • 예시: img.rotate(45, expand=True)는 45도 회전 후 이미지의 잘린 부분이 없는 상태로 확장된 이미지를 반환합니다.
  • center (선택사항): 이미지의 회전 중심을 지정합니다. 기본값은 이미지의 중심입니다.
    • 예시: img.rotate(45, center=(100, 100))은 이미지의 (100, 100) 좌표를 기준으로 회전합니다.
  • translate (선택사항): 회전된 이미지를 이동시키는 데 사용할 수 있는 (x, y) 값입니다. 회전 후 이미지를 이동시키려면 이 옵션을 사용할 수 있습니다.
  • fillcolor (선택사항): 회전 후 생기는 빈 공간을 채울 색상을 지정합니다. 기본값은 투명 또는 배경색입니다.
    • 예시: img.rotate(45, fillcolor='white')는 회전 후 빈 공간을 흰색으로 채웁니다.
  • 활용
    • 이미지 회전: 사진이나 이미지를 지정한 각도로 회전시켜 정렬하거나 예술적 효과를 줄 수 있습니다.
    • 고품질 이미지 변환: 리샘플링 옵션을 사용해 이미지 회전 시 품질을 유지하면서 작업할 수 있습니다.
    • 다양한 이미지 처리: 특정 중심을 기준으로 이미지를 회전시키거나, 회전된 이미지를 확장하고, 필요에 따라 빈 공간을 색상으로 채울 수 있습니다.

 

라이센스

  Pillow 라이브러리는 PIL 라이센스를 따릅니다. 자세한 라이센스 정보는 Pillow GitHub에서 확인할 수 있습니다.

 

관련 내용

  [PIL] 이미지 크기 조정하기: Image.resize() 사용 및 설명
  [PIL] 이미지 회전하기: Image.rotate() 사용 및 설명
  [PIL] 이미지 회전 및 반전: Image.transpose() 사용 및 설명

 

반응형