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

[PIL] 이미지 색상 모드 변환: Image.convert() 사용 및 설명

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

소개

  Image.convert(mode=None, matrix=None, dither=None, palette=0, colors=256) 함수는 Pillow 라이브러리에서 이미지를 지정된 색상 모드로 변환하는 데 사용됩니다. 이 함수는 이미지를 다른 모드로 변환하여 색상 처리를 변경하거나, 이미지의 크기나 메모리 사용량을 최적화하는 데 활용됩니다. 일반적으로 RGB에서 그레이스케일, RGBA로의 변환 등이 많이 사용됩니다.

 

기본 사용법

from PIL import Image

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

# 이미지를 그레이스케일로 변환
gray_img = img.convert('L')

# 이미지를 RGBA로 변환
rgba_img = img.convert('RGBA')

# 변환된 이미지 저장
gray_img.save('gray_image.jpg')
rgba_img.save('rgba_image.png')

상세 설명

  • mode: 변환할 색상 모드를 지정합니다. 모드는 문자열로 설정하며, 다음과 같은 주요 모드를 사용할 수 있습니다:
    • "1": 1비트 흑백 모드 (흑 또는 백)
    • "L": 8비트 그레이스케일 모드 (256 단계의 회색)
    • "RGB": 3채널 컬러 모드 (빨강, 초록, 파랑)
    • "RGBA": 알파 채널을 포함한 4채널 컬러 모드 (빨강, 초록, 파랑, 투명도)
    • "CMYK": 인쇄용 4채널 색상 모드 (사이안, 마젠타, 노랑, 검정)
  • matrix (선택사항): 선택적으로 변환 시 적용할 변환 행렬을 지정할 수 있습니다. 고급 색상 변환 작업에 사용됩니다.
  • dither (선택사항): 변환 시 사용할 디더링(dithering) 방법을 지정합니다. 이미지를 팔레트 모드로 변환할 때 유용합니다.
  • palette (선택사항): 팔레트 변환에 사용할 팔레트 모드를 지정합니다. 기본값은 0이며, 팔레트 모드로 변환 시 사용됩니다.
  • colors (선택사항): 팔레트 모드로 변환할 때 사용할 최대 색상 수를 지정합니다. 기본값은 256입니다.
  • 활용
    • 그레이스케일 변환: 이미지를 그레이스케일로 변환하여 파일 크기를 줄이거나, 흑백 이미지를 생성할 때 유용합니다.
    • RGBA 변환: 이미지에 투명도를 추가하거나, PNG 파일 등에서 투명 채널을 처리할 때 자주 사용됩니다.
    • 팔레트 모드 변환: 이미지의 색상을 제한된 팔레트로 변환하여 파일 크기를 줄이고, 특정 디스플레이 환경에서 색상을 최적화할 수 있습니다.

 

라이센스

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

 

관련 내용

  [PIL] 이미지 색상 모드 변환: Image.convert() 사용 및 설명
  [PIL] 이미지 채널 분리: Image.split() 사용 및 설명
  [PIL] 이미지 채널 결합하기: Image.merge() 사용 및 설명

 

반응형