이미지 히스토그램은 이미지의 밝기 값을 픽셀 수로 표현한 그래프입니다. 이를 통해 이미지의 밝기 분포를 확인하고, 이미지의 특징을 파악할 수 있습니다. Python의 OpenCV 라이브러리를 사용하여 간단한 이미지 히스토그램 분석을 수행해보겠습니다.
이미지 불러오기
먼저, 이미지를 불러와야 합니다. OpenCV를 사용하여 다음과 같이 이미지를 불러올 수 있습니다.
import cv2
# 이미지 불러오기
image = cv2.imread('image.jpg', 0)
위의 코드에서 image.jpg
는 분석하고자 하는 이미지의 파일 경로입니다. 0
은 이미지를 흑백으로 변환하라는 의미입니다. 만약 칼라 이미지를 분석하려면 1
을 사용하면 됩니다.
히스토그램 생성하기
이제 이미지의 히스토그램을 생성해보겠습니다. 다음과 같이 cv2.calcHist()
함수를 사용하여 히스토그램을 생성할 수 있습니다.
# 히스토그램 생성
hist = cv2.calcHist([image], [0], None, [256], [0,256])
위의 코드에서 image
는 히스토그램을 생성할 이미지입니다. [0]
은 흑백 이미지의 경우 첫 번째 채널을 의미하며, 칼라 이미지의 경우 적색(Red) 채널을 선택합니다. [256]
은 히스토그램의 구간(bin) 수를 의미합니다. 위의 예제에서는 0부터 255까지의 구간을 사용했습니다.
히스토그램 시각화하기
히스토그램을 시각화하여 확인해보겠습니다. Matplotlib 라이브러리를 사용하여 히스토그램을 그래프로 표현할 수 있습니다. 다음은 히스토그램을 시각화하는 코드입니다.
import matplotlib.pyplot as plt
# 히스토그램 시각화
plt.plot(hist)
plt.xlim([0,256])
plt.show()
위의 코드에서 hist
는 히스토그램 데이터입니다. plt.xlim()
함수는 x축의 범위를 지정하는 함수로, 위의 예제에서는 0부터 255까지의 범위로 설정했습니다.
결론
위의 과정을 통해 이미지의 히스토그램을 분석할 수 있습니다. 히스토그램을 활용하여 이미지의 밝기 분포를 파악하고, 이미지 처리 및 컴퓨터 비전 분야에서 다양한 알고리즘을 개발할 수 있습니다.
참고 자료
- OpenCV 공식문서: https://docs.opencv.org/
- Matplotlib 공식문서: https://matplotlib.org/