【图像处理】纹理检测算法
圖像紋理檢測算法
LBP檢測算法
原文鏈接:https://blog.csdn.net/tiandijun/article/details/45561981
https://blog.csdn.net/andylanzhiyong/article/details/84707889
http://blog.csdn.net/zouxy09/article/details/7929531
LBP檢測模式:
LBP(Local Binary Pattern,局部二值模式)是一種用來描述圖像局部紋理特征的算子;LBP檢測算法具有旋轉不變性和灰度不變性等顯著的優點。
原始的LBP算子定義為在33的窗口內,以窗口中心像素為閾值,將相鄰的8個像素的灰度值與其進行比較,若周圍像素值大于中心像素值,則該像素點的位置被標記為1,否則為0。這樣,33鄰域內的8個點經比較可產生8位二進制數(通常轉換為十進制數即LBP碼,共256種),即得到該窗口中心像素點的LBP值,并用這個值來反映該區域的紋理信息。
如上圖所示實際應用中煙支之間緊密貼合,如下圖所示而基本的LBP算子的最大缺陷在于它只覆蓋了一個固定半徑范圍內的小區域,正常工作狀態下能夠穩定檢測出正常煙支,但是在實際運行中,煙支異常狀態具有恒大的不確定性,創這顯然不能滿足不同尺寸和頻率紋理的需要。
為了適應不同尺寸和頻率紋理的需要,并達到灰度和旋轉不變性的要求,在實際應用中對LBP算子進行了改進,將3×3鄰域擴展到任意鄰域,并用圓形鄰域代替了正方形鄰域,改進后的LBP算子允許在半徑為R的圓形鄰域內有任意多個像素點。從而得到了如下圖的半徑為R的圓形區域內含有P個采樣點的LBP算子。
一個LBP算子可以產生不同的二進制模式,對于半徑為R的圓形區域內含有P個采樣點的LBP算子將會產生P2種模式。紋理特征的檢測算法中隨著鄰域集內采樣點數的增加,二進制模式的種類是急劇增加的。為了防止過多的二值模式對于紋理的提取、識別、分類及信息的存取產生干擾。同時,過多的模式種類對于紋理的表達是不利的。因此,在實際檢測中對原始的LBP模式進行降維,使得數據量減少的情況下能最好的代表圖像的信息。
為了解決二進制模式過多的問題,提高統計性,方案中提出了采用一種“等價模式”來對LBP算子的模式種類進行降維。在煙支狀態監控的實際圖像中,絕大多數LBP模式最多只包含兩次從1到0或從0到1的跳變。因此,當某個LBP所對應的循環二進制數從0到1或從1到0最多有兩次跳變時,該LBP所對應的二進制就稱為一個等價模式類。
通過這樣的改進,二進制模式的種類大大減少,而不會丟失任何信息。模式數量由原來的2P種減少為 P ( P-1)+2種,其中P表示鄰域集內的采樣點數。對于3×3鄰域內8個采樣點來說,二進制模式由原始的256種減少為58種,這使得特征向量的維數更少,并且可以減少高頻噪聲帶來的影響。
因為,LBP算子得到的這個“特征”跟位置信息是緊密相關的。直接對兩幅圖片提取這種“特征”,并進行判別分析的話,會因為“位置沒有對準”而產生很大的誤差。實際應用中將一幅圖片劃分為若干的子區域,對每個子區域內的每個像素點都提取LBP特征,然后,在每個子區域內建立LBP特征的統計直方圖。如此一來,每個子區域,就可以用一個統計直方圖來進行描述;整個圖片就由若干個統計直方圖組成;
例如:一幅100100像素大小的圖片,劃分為1010=100個子區域(可以通過多種方式來劃分區域),每個子區域的大小為1010像素;在每個子區域內的每個像素點,提取其LBP特征,然后,建立統計直方圖;這樣,這幅圖片就有1010個子區域,也就有了1010個統計直方圖,利用這1010個統計直方圖,就可以描述這幅圖片了。之后,我們利用各種相似性度量函數,就可以判斷兩幅圖像之間的相似性了;
灰度共生矩陣算法:
數字圖像處理—圖像紋理特征
https://blog.csdn.net/wsp_1138886114/article/details/108709277
https://blog.csdn.net/guanyuqiu/article/details/53117507
總結
以上是生活随笔為你收集整理的【图像处理】纹理检测算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DeepLearning:模型之间的相互
- 下一篇: C++:类-多态的学习和使用