Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pillow 라이브러리로 이미지 채널별 픽셀 표준 편차 계산하기

이 글에서는 Python의 Pillow 라이브러리를 사용하여 이미지의 각 채널(밴드)에 있는 모든 픽셀의 표준 편차를 계산하는 방법을 알아봅니다.

일반적인 컬러 이미지는 Red(빨강), Green(초록), Blue(파랑)의 3개 채널로 구성되어 있습니다. 따라서 계산 결과로 각 채널의 표준 편차를 담은 3개의 값이 리스트 형태로 반환됩니다.

원본 이미지

Pillow 라이브러리로 이미지 채널별 픽셀 표준 편차 계산하기

알고리즘

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(최솟값/최댓값) 등 다양한 통계 속성을 제공하므로, 이미지 분석 작업에 폭넓게 활용할 수 있습니다.