반응형
소개
Image.histogram() 함수는 Pillow 라이브러리에서 이미지의 히스토그램 데이터를 생성하는 함수로, 이미지의 색상 분포나 픽셀 강도를 분석하는 데 사용됩니다. 이 함수는 이미지의 각 픽셀 값을 기준으로 그 빈도를 계산하여 리스트 형태로 반환합니다. 주로 이미지 처리, 필터링, 그리고 색상 보정 작업에서 활용되며, 이미지를 분석하거나 특정 색상 범위의 분포를 확인하는 데 유용합니다.
기본 사용법
from PIL import Image
# 이미지 파일 열기
img = Image.open('sample_image.jpg')
# 이미지 히스토그램 생성
histogram = img.histogram()
# 히스토그램 출력 (256 값씩 그룹화하여 출력)
print(histogram[:256]) # R 채널 히스토그램
print(histogram[256:512]) # G 채널 히스토그램
print(histogram[512:]) # B 채널 히스토그램
상세 설명
- Image.histogram(): 이 함수는 이미지의 모든 채널에 대해 각 픽셀 값이 등장하는 빈도를 세고, 그 결과를 리스트 형태로 반환합니다. 반환되는 리스트의 길이는 이미지의 모드에 따라 다르며, RGB 모드의 경우 256개의 픽셀 값이 각 채널에 대해 256개씩 총 768개의 값이 반환됩니다.
- 예시: RGB 이미지의 경우 histogram[:256]은 R 채널의 히스토그램, histogram[256:512]은 G 채널의 히스토그램, histogram[512:]은 B 채널의 히스토그램입니다.
- 활용
- 이미지 분석: 히스토그램을 통해 이미지의 색상 분포를 분석하거나, 특정 색상 또는 밝기 값의 빈도를 확인할 수 있습니다. 예를 들어, 어두운 영역이 많이 차지하는지, 특정 색상이 지배적인지 확인할 수 있습니다.
- 이미지 필터링: 히스토그램을 분석하여 이미지 필터링이나 보정에 활용할 수 있습니다. 예를 들어, 히스토그램 균등화를 통해 이미지의 명암 대비를 향상시킬 수 있습니다.
- 이미지 색상 보정: 특정 색상 채널의 히스토그램을 이용하여 색상을 조정하거나 이미지를 개선할 수 있습니다.
라이센스
Pillow 라이브러리는 PIL 라이센스를 따릅니다. 자세한 라이센스 정보는 Pillow GitHub에서 확인할 수 있습니다.
관련 내용
[PIL] 이미지 픽셀 값 가져오기: Image.getpixel() 사용 및 설명
[PIL] 이미지 픽셀 값 설정하기: Image.putpixel() 사용 및 설명
[PIL] 이미지 히스토그램 생성: Image.histogram() 사용 및 설명
반응형
'함수 설명 > 컴퓨터 비전 (OpenCV, PIL)' 카테고리의 다른 글
[PIL] 이미지 명암 대비 조절하기: ImageEnhance.Contrast() 사용 및 설명 (0) | 2024.10.14 |
---|---|
[PIL] 이미지 밝기 조절하기: ImageEnhance.Brightness() 사용 및 설명 (0) | 2024.10.14 |
[PIL] 이미지 픽셀 값 설정하기: Image.putpixel() 사용 및 설명 (0) | 2024.10.14 |
[PIL] 이미지 픽셀 값 가져오기: Image.getpixel() 사용 및 설명 (0) | 2024.10.14 |
[PIL] 이미지 좌우 대칭 변환: ImageOps.mirror() 사용 및 설명 (0) | 2024.10.14 |