最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python學(xué)習(xí)之直方圖均衡化原理詳解

 更新時(shí)間:2022年03月02日 10:01:49   作者:MrWinter  
直方圖均衡化是以累計(jì)分布函數(shù)為核心,將原始圖像灰度直方圖從比較集中的某個(gè)灰度區(qū)間,非線性地映射為在全部灰度范圍內(nèi)的較均勻分布,從而增強(qiáng)對比度。本文將為大家詳細(xì)講解直方圖均衡化的原理,需要的可以參考一下

1.點(diǎn)算子

點(diǎn)算子是兩個(gè)像素灰度值間的映射關(guān)系,屬于像素的逐點(diǎn)運(yùn)算,相鄰像素不參與運(yùn)算。點(diǎn)算子是最簡單的圖像處理手段,如:亮度調(diào)整、對比度調(diào)整、顏色變換、直方圖均衡化等等。

2.線性灰度變換

線性灰度變換表達(dá)為:

其中rk、sk分別為輸入、輸出點(diǎn)像素灰度值。

▲圖2.1 線性灰度變換

當(dāng)a>1時(shí),輸出圖像像素灰度范圍擴(kuò)大,圖像對比度增強(qiáng),當(dāng)a<1時(shí)反之。這是因?yàn)槿搜鄄灰讌^(qū)分相近的灰度值,因此若圖像灰度值范圍較小,觀感上細(xì)節(jié)不夠清晰。當(dāng)a=1、b≠0時(shí),點(diǎn)算子使圖像灰度整體上移或下移,即整體變亮或變暗。

▲圖2.2 圖像對比度(左為弱對比度,右為強(qiáng)對比度)

3.直方圖均衡化

下圖再次給出了關(guān)于圖像對比度的例子。

▲圖3.1 圖像對比度示例

直方圖均衡化是以累計(jì)分布函數(shù)為核心,將原始圖像灰度直方圖從比較集中的某個(gè)灰度區(qū)間,非線性地映射為在全部灰度范圍內(nèi)的較均勻分布,從而增強(qiáng)對比度。

下面闡述直方圖均衡化的數(shù)學(xué)原理。首先作原始圖像灰度的概率直方圖如圖。

▲圖3.2 直方圖均衡化原理

設(shè)輸入像素灰度值為rk,累計(jì)分布函數(shù)為

其中ni為圖像中灰度值為ri的像素頻數(shù),n為圖像像素總數(shù)。設(shè)輸出像素灰度值為sk,像素范圍為smin-smax。期望輸出灰度直方圖是均勻分布,即

令C(sk)=C(rk),即得

所以最終直方圖均衡化的點(diǎn)算子為

所以最終直方圖均衡化的點(diǎn)算子為

4.代碼實(shí)戰(zhàn)

按照前文的原理編寫累積分布函數(shù)計(jì)算公式,以及均衡化算子

#?計(jì)算累計(jì)分布函數(shù)
def?C(rk):
??#?讀取圖片灰度直方圖
??#?bins為直方圖直方柱的取值向量
??#?hist為bins各取值區(qū)間上的頻數(shù)取值
??hist,?bins?=?np.histogram(rk,?256,?[0,?256])
??#?計(jì)算累計(jì)分布函數(shù)
??return?hist.cumsum()
#?計(jì)算灰度均衡化映射
def?T(rk):
??cdf?=?C(rk)
??#?均衡化
??cdf?=?(cdf?-?cdf.min())?*?(255?-?0)?/?(cdf.max()?-?cdf.min())?+?0
??return?cdf.astype('uint8')

均衡化時(shí)直接調(diào)用函數(shù)即可,下面給出完整代碼

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

#?計(jì)算累計(jì)分布函數(shù)
def?C(rk):
??#?讀取圖片灰度直方圖
??#?bins為直方圖直方柱的取值向量
??#?hist為bins各取值區(qū)間上的頻數(shù)取值
??hist,?bins?=?np.histogram(rk,?256,?[0,?256])
??#?計(jì)算累計(jì)分布函數(shù)
??return?hist.cumsum()

#?計(jì)算灰度均衡化映射
def?T(rk):
??cdf?=?C(rk)
??#?均衡化
??cdf?=?(cdf?-?cdf.min())?*?(255?-?0)?/?(cdf.max()?-?cdf.min())?+?0
??return?cdf.astype('uint8')


#?讀取圖片
img?=?cv.imread('1.png',?0)
#?將二維數(shù)字圖像矩陣轉(zhuǎn)變?yōu)橐痪S向量
rk?=?img.flatten()

#?原始圖像灰度直方圖
plt.hist(rk,?256,?[0,?255],?color?=?'r')
cv.imshow("原圖像",img)

#?直方圖均衡化
imgDst?=?T(rk)[img]
cv.imshow("直方圖均衡化后的圖像",imgDst)
plt.hist(imgDst.flatten(),?256,?[0,?255],?color?=?'b')

plt.show()

看看效果:

▲圖4.1 直方圖均衡化效果(灰度直方圖)

▲圖4.2 均衡化前

▲圖4.3 均衡化后

以上就是Python學(xué)習(xí)之直方圖均衡化原理詳解的詳細(xì)內(nèi)容,更多關(guān)于Python直方圖均衡化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python?pywin32實(shí)現(xiàn)word與Excel的處理

    Python?pywin32實(shí)現(xiàn)word與Excel的處理

    這篇文章主要介紹了Python?pywin32實(shí)現(xiàn)word與Excel的處理,pywin32處理Word大多數(shù)用于格式轉(zhuǎn)換,因?yàn)橐话阕x寫操作都可以借助python-docx實(shí)現(xiàn),除非真的有特殊要求,但大部分企業(yè)對Wrod操作不會有太多復(fù)雜需求
    2022-08-08
  • 使用WingPro 7 設(shè)置Python路徑的方法

    使用WingPro 7 設(shè)置Python路徑的方法

    Python使用稱為Python Path的搜索路徑來查找使用import語句導(dǎo)入代碼的模塊。這篇文章主要介紹了使用WingPro 7 設(shè)置Python路徑的方法,需要的朋友可以參考下
    2019-07-07
  • Python函數(shù)參數(shù)分類原理詳解

    Python函數(shù)參數(shù)分類原理詳解

    這篇文章主要介紹了Python函數(shù)參數(shù)分類原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 深度Q網(wǎng)絡(luò)DQN(Deep Q-Network)強(qiáng)化學(xué)習(xí)的原理與實(shí)戰(zhàn)

    深度Q網(wǎng)絡(luò)DQN(Deep Q-Network)強(qiáng)化學(xué)習(xí)的原理與實(shí)戰(zhàn)

    深度Q學(xué)習(xí)將深度神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)相結(jié)合,解決了傳統(tǒng)Q學(xué)習(xí)在高維狀態(tài)空間下的局限性,通過經(jīng)驗(yàn)回放和目標(biāo)網(wǎng)絡(luò)等技術(shù),DQN能夠在復(fù)雜環(huán)境中學(xué)習(xí)有效的策略,本文通過CartPole環(huán)境的完整實(shí)現(xiàn),展示了DQN的核心思想和實(shí)現(xiàn)細(xì)節(jié)
    2025-04-04
  • Python中return用法案例詳解

    Python中return用法案例詳解

    這篇文章主要介紹了Python中return用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • python3 sleep 延時(shí)秒 毫秒實(shí)例

    python3 sleep 延時(shí)秒 毫秒實(shí)例

    這篇文章主要介紹了python3 sleep 延時(shí)秒 毫秒實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Django中多種重定向方法使用詳解

    Django中多種重定向方法使用詳解

    這篇文章主要介紹了Django中多種重定向方法使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 詳解Python中的三元運(yùn)算

    詳解Python中的三元運(yùn)算

    本文詳細(xì)介紹了Python中的三元運(yùn)算符的使用方法和技巧,三元運(yùn)算也稱三目運(yùn)算,在Python中,三元運(yùn)算也稱為條件表達(dá)式,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • 從多個(gè)tfrecord文件中無限讀取文件的例子

    從多個(gè)tfrecord文件中無限讀取文件的例子

    今天小編就為大家分享一篇從多個(gè)tfrecord文件中無限讀取文件的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python一行代碼對話ChatGPT實(shí)現(xiàn)詳解

    Python一行代碼對話ChatGPT實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了Python一行代碼對話ChatGPT實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評論

新源县| 图们市| 阿巴嘎旗| 新蔡县| 新丰县| 类乌齐县| 忻州市| 明溪县| 武胜县| 毕节市| 台南县| 遂平县| 揭西县| 连南| 务川| 巴彦县| 高青县| 兖州市| 城固县| 绥滨县| 汉寿县| 济源市| 乌兰察布市| 耿马| 怀化市| 曲沃县| 民丰县| 渝中区| 盐亭县| 准格尔旗| 通渭县| 黄浦区| 赣榆县| 乡城县| 柳河县| 城固县| 渭南市| 孟津县| 泾川县| 楚雄市| 彰化县|