在理解直方圖均衡化的過程中,參考了一些書籍和博客,讓人困惑的是,筆者對于直方圖的理解還是停留在表面,并沒有深入理解其內(nèi)涵。因此,本文擬結(jié)合圖片對直方圖的概念進(jìn)行闡述,并給出其Python實現(xiàn),最后對她背后所蘊(yùn)含的一些科學(xué)思維,談?wù)勛约旱囊恍┛捶ā?/p>
什么是直方圖?
對于一副灰度圖像I,她的每一個像素點I(x,y)都有一個灰度值,一般情況下可能的灰度取值有2^8=256個(0,1,...,255)。如果我們統(tǒng)計出灰度值r在I中出現(xiàn)的次數(shù)n,并對其進(jìn)行歸一化(n/N,N是所有灰度值出現(xiàn)次數(shù)的總和),這樣我們就可以得到像素r在I中出現(xiàn)的概率p(r)。如果對每一個可能的灰度取值r都做同樣的處理,我們可以得到如圖1左側(cè)所示的概率分布曲線,該曲線就是我們常說的直方圖。
圖1 直方圖均衡化目標(biāo)
什么是直方圖均衡化?
通常情況下一副圖像I的直方圖如圖1左側(cè)所示,每一個灰度值r出現(xiàn)的概率不是相等的,這樣會導(dǎo)致圖像的一些細(xì)節(jié)信息不夠突出,而直方圖均衡化就是對灰度值r進(jìn)行如下變換s=T(r),使得變換后的灰度分布如圖1右側(cè)所示(也就是說,每一個灰度值出現(xiàn)的概率是想同的),這樣能夠發(fā)現(xiàn)一些原先肉眼很難發(fā)現(xiàn)的細(xì)節(jié),如圖2所示(讀者可以自己體會下)。說到這里,一般也就結(jié)束了,但是我們真的理解了嗎?如何更好的理解呢?下面簡要介紹一下筆者的理解方式。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26