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

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

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

소개

  Image.resize(size, resample=Image.BICUBIC, box=None, reducing_gap=None) 함수는 Pillow 라이브러리에서 제공하는 함수로, 이미지의 크기를 조정하는 데 사용됩니다. 이미지를 원하는 크기로 조정하면서, 품질 손실을 최소화할 수 있도록 다양한 리샘플링(resampling) 옵션을 제공합니다. 이 함수는 이미지의 해상도를 변경하거나, 특정 작업에 맞춰 이미지를 크기 조정할 때 유용합니다.

 

기본 사용법

from PIL import Image

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

# 이미지 크기 조정 (500x500 픽셀로 조정)
resized_img = img.resize((500, 500))

# 크기 조정된 이미지 저장
resized_img.save('resized_image.jpg')

상세 설명

  • size: 원하는 이미지의 새로운 크기(너비, 높이)를 튜플(tuple) 형태로 지정합니다. 예를 들어, (width, height)로 새로운 크기를 설정할 수 있습니다.
    • 예시: img.resize((500, 500))은 이미지를 500x500 픽셀로 리사이즈합니다.
  • resample (선택사항): 리샘플링 필터를 지정합니다. 기본값은 Image.BICUBIC로, 높은 품질의 크기 조정을 지원합니다. 다른 옵션으로는 Image.NEAREST (빠르지만 저품질), Image.BILINEAR (중간 품질), Image.LANCZOS (최고 품질)이 있습니다.
    • 예시: img.resize((500, 500), Image.NEAREST)는 가장 빠른 리샘플링을 수행합니다.
  • box (선택사항): 원본 이미지의 특정 영역을 지정하여 그 부분만 크기 조정할 수 있습니다. box는 왼쪽, 윗쪽, 오른쪽, 아래쪽의 좌표를 지정하는 튜플로 입력됩니다.
  • reducing_gap (선택사항): 이미지 크기를 줄일 때 사용되는 감소율의 차이를 지정합니다. 더 높은 값을 지정하면 더 좋은 품질을 얻을 수 있지만, 성능이 저하될 수 있습니다.
  • 활용
    • 이미지 해상도 조정: 웹사이트 업로드, 소셜 미디어 게시물, 또는 머신러닝 모델 입력을 위해 이미지 크기를 조정할 때 유용합니다.
    • 고품질 리샘플링: 이미지 크기를 축소 또는 확대할 때 품질 손실을 최소화할 수 있습니다. 특히 고품질 출력을 원할 경우 Image.LANCZOS와 같은 고품질 필터를 사용할 수 있습니다.
    • 특정 영역 크기 조정: 이미지의 일부 영역을 잘라서 그 부분만 확대하거나 축소할 수 있습니다.
  •  

라이센스

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

 

관련 내용

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

 

반응형