이 글에서는 Python의 Pillow 라이브러리를 사용하여 이미지의 각 채널(밴드)에 있는 모든 픽셀의 표준 편차를 계산하는 방법을 알아봅니다.
일반적인 컬러 이미지는 Red(빨강), Green(초록), Blue(파랑)의 3개 채널로 구성되어 있습니다. 따라서 계산 결과로 각 채널의 표준 편차를 담은 3개의 값이 리스트 형태로 반환됩니다.
원본 이미지

알고리즘
1단계: Image와 ImageStat 라이브러리를 임포트합니다. 2단계: 이미지 파일을 엽니다. 3단계: 이미지 객체를 ImageStat 클래스의 Stat 함수에 전달합니다. 4단계: stddev 속성을 통해 픽셀들의 표준 편차를 출력합니다.
예제 코드
from PIL import Image, ImageStat
im = Image.open('image_test.jpg')
stat = ImageStat.Stat(im)
print(stat.stddev)실행 결과
[72.25694839223894, 66.24724750077299, 65.50769196475312]
결과 해석
출력된 리스트의 세 값은 순서대로 R, G, B 채널의 표준 편차입니다. 표준 편차는 해당 채널 내 픽셀 값들이 평균으로부터 얼마나 흩어져 있는지를 나타내는 지표로, 값이 클수록 이미지의 명암 대비가 크다는 것을 의미합니다.
참고로 ImageStat.Stat 객체는 표준 편차 외에도 mean(평균), median(중앙값), extrema(최솟값/최댓값) 등 다양한 통계 속성을 제공하므로, 이미지 분석 작업에 폭넓게 활용할 수 있습니다.