圖像的局部墒速度優化

1、香農墒定義

信息論大師香農給出了信息隨機性的度量,稱爲信息墒。信息的隨機性越大,信息墒就越大。假定事件s1,s2,s3……sn,它們出現的概率爲p(s1),p(s2)……p(sn),則每個事件的平均不確定性用香農墒(Shannon entropy)來定義,爲

 

2、圖像的局部墒優化

由香農墒的定義可以看出,只要把圖像中的灰度值看作隨機事件,就可以度量圖像的信息量了。

1、對於一個灰度完全一致的圖像,P(Si) = 1,圖像的香農墒爲0;

2、對於一個對比度很大的圖像,圖像的香農墒很大;假定圖像一半白,一半黑,香農墒爲1/2 * 2 = 1; 這個特性可以用來檢測圖像紋理中的缺陷,紋理均勻的地方,香農墒小;紋理缺陷的地方,香農墒大;然後在墒圖像選取一個合適的閾值二值化,就可以檢測出缺陷。

如果直接計算整張圖的香農墒,得出來的是關於整張圖像的對比度,均勻性等信息的度量,一個標量值(紋理特徵);主要用於分類和識別。

在缺陷檢測中,我們更關心的是局部的特性,每個局部點的信息墒組成一個信息墒圖。類似於濾波,matlab中的局部墒計算函數爲entropyfilt,常用的墒濾波器是9x9大小的,因此可以按照空間域濾波滑動窗口的形式方法計算局部墒。

 

2.1 圖像局部墒Native計算方式:

 

2.2 局部墒優化1(查找表方式):

Native計算方式中最大的計算量爲log(2)的重複除法

 

考慮到hist[k]的最大頻數爲81,因此計算概率的時候先不歸一化處理,只計算頻數,然後構建頻率查找表:

             

查找表方式優化效率,有質的提升。

 

2.3  局部墒優化2(減少直方圖循環)

 

直方圖中不是每個灰度頻數都大於0,最多個頻數大於0的個數爲81,也就是鄰域9x9 內的所有灰度值都不相同;因此對於那些頻數爲0的index可以先去除,然後在循環。測試後,提速不明顯,主要是對直方圖中256個index又要遍歷一遍,然後還要存在索引表中,這本省要耗點時間。但對頻數大於0的首尾index提取(很快就提取出來),會有10%左右的提速。

minIndex爲頻數不爲0的最小索引值,maxIndex爲頻數不爲0的最大索引值;

 

2.4 局部墒優化3(中值濾波優化思路)

 

窗口在滑動時,只有第一列和最後一列是不同的元素,因此在計算下一個點鄰域直方圖時,只需在當前直方圖的基礎上減去第一列,然後在加上最後一列。這個減少了imageWidth * imageHeight * (81 - 18)次加法,600x500的圖沒提速前是50ms左右,提速後在40ms左右,提速20%-30%;

 

 

3、計算結果圖demo

           

            

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章