OpenCV-Python直方圖均衡化實現(xiàn)圖像去霧
直方圖均衡化
直方圖均衡化的目的是將原始圖像的灰度級均勻地映射到整個灰度級范圍內,得到一個灰度級分布均衡的圖像。這種均衡化,即實現(xiàn)了灰度值統(tǒng)計上的概率均衡,也實現(xiàn)了人類視覺系統(tǒng)上(HSV)的視覺均衡。
一般來說,直方圖均衡化可以達到增強圖像顯示效果的目的。最常用的比如去霧。下面,我們來分別實現(xiàn)灰度圖像去霧以及彩色圖像去霧。
實現(xiàn)灰度圖像去霧
在OpenCV中,它提供了函數(shù)cv2.equalizeHist()來實現(xiàn)直方圖均衡化,該函數(shù)的完整定義如下:
def equalizeHist(src, dst=None):
src:原始圖像,必須是8位單通道原始圖像
dst:返回值,返回直方圖均值化處理結果
下面,我們來通過該函數(shù)實現(xiàn)灰度圖像直方圖均衡化處理,代碼如下:
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("45.jpg", 0)
equ = cv2.equalizeHist(img)
cv2.imshow("1",img)
cv2.imshow("2",equ)
plt.figure("原始圖像直方圖")
plt.hist(img.ravel(), 256)
plt.figure("均衡化圖像直方圖")
plt.hist(equ.ravel(), 256)
plt.show()
cv2.waitKey()
cv2.destroyAllWindows()
運行之后,效果如下:

左邊為原圖,右邊是處理后的圖像,可以看到圖像前景的霧,基本已經去掉了。不過,我們還是看看處理前后的直方圖結果分布。


實現(xiàn)彩色圖像去霧
雖然上面的灰度圖像達到了去霧的基本效果,但是說實話,大多數(shù)實際的場景中,我們用到最多的往往是彩色圖像。所以,掌握彩色圖像的直方圖均衡化處理,才是我們真正的實戰(zhàn)技能。
下面我們來用代碼實現(xiàn)彩色圖像直方圖均衡化處理,代碼如下:
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("50.jpg")
blue = img[:, :, 0]
green = img[:, :, 1]
red = img[:, :, 2]
blue_equ = cv2.equalizeHist(blue)
green_equ = cv2.equalizeHist(green)
red_equ = cv2.equalizeHist(red)
equ = cv2.merge([blue_equ, green_equ, red_equ])
cv2.imshow("1",img)
cv2.imshow("2",equ)
plt.figure("原始圖像直方圖")
plt.hist(img.ravel(), 256)
plt.figure("均衡化圖像直方圖")
plt.hist(equ.ravel(), 256)
plt.show()
cv2.waitKey()
cv2.destroyAllWindows()
這里,我們只需要使用equalizeHist()函數(shù)對彩色圖像的每個顏色進行均衡化處理即可。當然,需要注意的是,我們處理完每個顏色之后,需要將圖像再次合并。運行之后效果如下:

到此這篇關于OpenCV-Python直方圖均衡化實現(xiàn)圖像去霧的文章就介紹到這了,更多相關OpenCV-Python 圖像去霧內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
關于keras.layers.Conv1D的kernel_size參數(shù)使用介紹
這篇文章主要介紹了關于keras.layers.Conv1D的kernel_size參數(shù)使用介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
python實現(xiàn)fenwick tree芬威克樹算法案例
芬威克樹,又稱為二叉索引樹或樹狀數(shù)組,是一種高效的數(shù)據結構,由Peter M. Fenwick于1994年提出,主要用于計算數(shù)組的前綴和以及支持對數(shù)時間復雜度的元素更新,通過維護一個特定的數(shù)組,利用整數(shù)的二進制特性進行區(qū)間和存儲2024-10-10
Python實現(xiàn)爬蟲爬取NBA數(shù)據功能示例
這篇文章主要介紹了Python實現(xiàn)爬蟲爬取NBA數(shù)據功能,涉及Python針對URL模塊、字符串、列表遍歷、Excel寫入等相關操作技巧,需要的朋友可以參考下2018-05-05
python實現(xiàn)從一組顏色中找出與給定顏色最接近顏色的方法
這篇文章主要介紹了python實現(xiàn)從一組顏色中找出與給定顏色最接近顏色的方法,涉及Python操作rgb格式顏色的技巧,非常具有實用價值,需要的朋友可以參考下2015-03-03
python和anaconda區(qū)別以及先后安裝的問題詳解
Anaconda(開源的Python包管理器)是一個python發(fā)行版,包含了conda、Python等180多個科學包及其依賴項,下面這篇文章主要給大家介紹了關于python和anaconda區(qū)別以及先后安裝問題的相關資料,需要的朋友可以參考下2022-05-05

