欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

OpenCV-Python直方圖均衡化實現(xiàn)圖像去霧

 更新時間:2021年06月07日 15:50:12   作者:一天一篇Python庫  
直方圖均衡化可以達(dá)到增強圖像顯示效果的目的。最常用的比如去霧。本文就來實現(xiàn)直方圖均衡化實現(xiàn)圖像去霧,感興趣的可以了解一下

直方圖均衡化

直方圖均衡化的目的是將原始圖像的灰度級均勻地映射到整個灰度級范圍內(nèi),得到一個灰度級分布均衡的圖像。這種均衡化,即實現(xiàn)了灰度值統(tǒng)計上的概率均衡,也實現(xiàn)了人類視覺系統(tǒng)上(HSV)的視覺均衡。

一般來說,直方圖均衡化可以達(dá)到增強圖像顯示效果的目的。最常用的比如去霧。下面,我們來分別實現(xiàn)灰度圖像去霧以及彩色圖像去霧。

實現(xiàn)灰度圖像去霧

在OpenCV中,它提供了函數(shù)cv2.equalizeHist()來實現(xiàn)直方圖均衡化,該函數(shù)的完整定義如下:

def equalizeHist(src, dst=None):

src:原始圖像,必須是8位單通道原始圖像

dst:返回值,返回直方圖均值化處理結(jié)果

下面,我們來通過該函數(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()

運行之后,效果如下:

在這里插入圖片描述

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

原始圖像

處理后的圖像

實現(xiàn)彩色圖像去霧

雖然上面的灰度圖像達(dá)到了去霧的基本效果,但是說實話,大多數(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ù)對彩色圖像的每個顏色進(jìn)行均衡化處理即可。當(dāng)然,需要注意的是,我們處理完每個顏色之后,需要將圖像再次合并。運行之后效果如下:

彩色圖像處理

到此這篇關(guān)于OpenCV-Python直方圖均衡化實現(xiàn)圖像去霧的文章就介紹到這了,更多相關(guān)OpenCV-Python 圖像去霧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python從單元素字典中獲取key和value的實例

    Python從單元素字典中獲取key和value的實例

    今天小編就為大家分享一篇Python從單元素字典中獲取key和value的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • PYTHON繪制雷達(dá)圖代碼實例

    PYTHON繪制雷達(dá)圖代碼實例

    這篇文章主要介紹了PYTHON繪制雷達(dá)圖代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Python實現(xiàn)將mp3音頻格式轉(zhuǎn)換為wav格式

    Python實現(xiàn)將mp3音頻格式轉(zhuǎn)換為wav格式

    這篇文章主要介紹了利用python寫了這個小工具,可以批量進(jìn)行mp3音頻格式轉(zhuǎn)換為wav格式,文中的示例代碼講解詳細(xì),感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • python實現(xiàn)圖像隨機裁剪的示例代碼

    python實現(xiàn)圖像隨機裁剪的示例代碼

    這篇文章主要介紹了python實現(xiàn)圖像隨機裁剪的示例代碼,幫助大家更好的理解和使用python處理圖片,感興趣的朋友可以了解下
    2020-12-12
  • Android+OpenCv4實現(xiàn)邊緣檢測及輪廓繪制出圖像最大邊緣

    Android+OpenCv4實現(xiàn)邊緣檢測及輪廓繪制出圖像最大邊緣

    最近工作需求,需要用opencv來先做一個demo,掃描照片進(jìn)行邊緣檢測和最大邊緣,就整理出來介紹一下,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Python實現(xiàn)剪刀石頭布小游戲(與電腦對戰(zhàn))

    Python實現(xiàn)剪刀石頭布小游戲(與電腦對戰(zhàn))

    這篇文章給大家分享Python基礎(chǔ)實現(xiàn)與電腦對戰(zhàn)的剪刀石頭布小游戲,練習(xí)if while輸入和輸出,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2019-12-12
  • python之class類和方法的用法詳解

    python之class類和方法的用法詳解

    這篇文章主要介紹了python中class類和方法的用法詳解,如果有不太清楚面向?qū)ο蟮念惡头椒ǖ木幊趟枷氲男』锇榭梢越梃b參考本文
    2023-03-03
  • Python+PyQt5實現(xiàn)網(wǎng)口功能測試詳解

    Python+PyQt5實現(xiàn)網(wǎng)口功能測試詳解

    這篇文章主要為大家詳細(xì)介紹了Python+PyQt5實現(xiàn)網(wǎng)口功能測試的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • python基礎(chǔ)之字典

    python基礎(chǔ)之字典

    這篇文章主要介紹了python的字典,實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Python與CNN的碰撞詳解

    Python與CNN的碰撞詳解

    CNN,即卷積神經(jīng)網(wǎng)絡(luò),主要用于圖像識別,分類。由輸入層,卷積層,池化層,全連接層(Affline層),Softmax層疊加而成。卷積神經(jīng)網(wǎng)絡(luò)中還有一個非常重要的結(jié)構(gòu):過濾器,它作用于層與層之間(卷積層與池化層),決定了怎樣對數(shù)據(jù)進(jìn)行卷積和池化
    2022-12-12

最新評論