>백엔드 개발 >파이썬 튜토리얼 >Python을 사용하여 이미지에서 히스토그램 평준화를 수행하는 방법

Python을 사용하여 이미지에서 히스토그램 평준화를 수행하는 방법

WBOY
WBOY원래의
2023-08-26 21:40:461380검색

Python을 사용하여 이미지에서 히스토그램 평준화를 수행하는 방법

Python을 사용하여 이미지에서 히스토그램 평준화를 수행하는 방법

소개:
히스토그램 평준화는 이미지의 회색조 분포를 더욱 균일하게 만들기 위해 이미지의 픽셀 값을 조정하는 일반적인 이미지 향상 방법입니다. 이미지의 대비. 이 기사에서는 Python에서 OpenCV 라이브러리를 사용하여 이미지의 히스토그램 평준화를 구현하는 방법을 알아봅니다.

1. 필요한 라이브러리 가져오기
먼저 Python에서 필요한 라이브러리를 가져와야 합니다. numpy는 배열을 처리하는 데 사용되고, matplotlib는 이미지를 표시하는 데 사용되고, cv2는 이미지 처리에 사용됩니다.

import numpy as np
import cv2
from matplotlib import pyplot as plt

2. 이미지 로드
이미지를 로드하려면 cv2.imread() 함수를 사용합니다. 이 함수는 이미지 파일의 경로를 매개변수로 받아들이고 이미지를 나타내는 배열을 반환합니다.

# 加载图像
img = cv2.imread('image.jpg', 0)

3. 히스토그램 계산
이미지의 히스토그램을 계산하려면 cv2.calcHist() 함수를 사용합니다. 이 함수는 이미지 배열, 채널 인덱스, 마스크, 히스토그램 크기, 히스토그램 범위를 인수로 받아들이고 이미지의 히스토그램을 나타내는 배열을 반환합니다.

# 计算直方图
hist = cv2.calcHist([img],[0],None,[256],[0,256])

4. 원본 이미지와 히스토그램을 그립니다.
matplotlib 라이브러리의 plt.subplot() 함수를 사용하여 원본 이미지와 히스토그램을 각각 그립니다.

# 绘制原始图像和直方图
plt.subplot(121), plt.imshow(img, 'gray')
plt.subplot(122), plt.plot(hist)

5. 히스토그램 평준화 수행
cv2.equalizeHist() 함수를 사용하여 이미지에 대한 히스토그램 평준화를 수행합니다. 이 함수는 이미지 배열을 매개변수로 받아들이고 히스토그램 평준화 후 이미지 배열을 반환합니다.

# 进行直方图均衡化
equ = cv2.equalizeHist(img)

6. 균등화된 이미지와 히스토그램 그리기
또한 plt.subplot() 함수를 사용하여 균등화된 이미지와 히스토그램을 각각 그립니다.

# 绘制均衡化后的图像和直方图
plt.subplot(121), plt.imshow(equ, 'gray')
plt.subplot(122), plt.plot(hist)

7. 결과 표시
plt.show() 함수를 사용하여 그려진 모든 이미지를 표시하세요.

# 显示图像
plt.show()

8. 전체 코드 예제

import numpy as np
import cv2
from matplotlib import pyplot as plt

# 加载图像
img = cv2.imread('image.jpg', 0)

# 计算直方图
hist = cv2.calcHist([img],[0],None,[256],[0,256])

# 绘制原始图像和直方图
plt.subplot(121), plt.imshow(img, 'gray')
plt.subplot(122), plt.plot(hist)

# 进行直方图均衡化
equ = cv2.equalizeHist(img)

# 绘制均衡化后的图像和直方图
plt.subplot(121), plt.imshow(equ, 'gray')
plt.subplot(122), plt.plot(hist)

# 显示图像
plt.show()

결론:
Python의 OpenCV 라이브러리를 사용하면 이미지에 대한 히스토그램 평준화를 쉽게 수행할 수 있습니다. 히스토그램 균등화는 이미지의 대비를 강화하고 더 선명하고 생생하게 만들 수 있는 간단하고 효과적인 방법입니다. 이 글이 영상 처리에 관심이 있는 독자들에게 도움이 되기를 바랍니다.

위 내용은 Python을 사용하여 이미지에서 히스토그램 평준화를 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.