[OpenCV基礎][Python]影像增強_直方圖均衡處理

2024/03/03閱讀時間約 1 分鐘

直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度顏色分佈進行調整

此方法對於背景和前景均亮均暗的影像很有用。​並在曝光過度曝光不足的照片中獲得更好的細節

cv2.equalizeHist()

是 OpenCV 庫中用來對灰度圖像進行直方圖均衡化的函式。以下是它的語法說明:

dst = cv2.equalizeHist(src)
  • dst: 目標圖像,即均衡化後的圖像。
  • src: 源圖像,即待均衡化的灰度圖像。

該函式會對輸入的灰度圖像進行直方圖均衡化,以提高圖像的對比度和亮度分佈。

直方圖均衡化通過重新分配圖像中的像素值,使得圖像的累積分佈函數變得更均勻,從而改善圖像的視覺效果

histogram_equalization.png

histogram_equalization.png


程式範例

import cv2
import matplotlib.pyplot as plt

# 讀取圖像
image = cv2.imread('img.png', cv2.IMREAD_GRAYSCALE)

# 直方圖均衡化
equ_image = cv2.equalizeHist(image)

# 顯示原始圖像和均衡化後的圖像
plt.subplot(1, 2, 1)
plt.imshow(image, cmap='gray')
plt.title('org')

plt.subplot(1, 2, 2)
plt.imshow(equ_image, cmap='gray')
plt.title('equalizeHist')

plt.show()
過曝直方圖處理後

過曝直方圖處理後

曝光不足直方圖處理後

曝光不足直方圖處理後

由兩張曝光與曝光不足經過直方圖均衡化後,均可得到不錯對比的圖像。


文獻參考




49會員
88內容數
Python程式設計師,不是在學習就是在學習的路上
留言0
查看全部
發表第一個留言支持創作者!