2024-03-03|閱讀時間 ‧ 約 22 分鐘

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

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

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

cv2.equalizeHist()

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

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

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

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

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()

過曝直方圖處理後

曝光不足直方圖處理後

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


文獻參考




分享至
成為作者繼續創作的動力吧!
利用Python OpenCV實現一些影像處理的應用,整理所學,利用程式範例的方式解說其程式碼跟函式的使用方法及應用
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言
© 2024 vocus All rights reserved.