Opencv LBP特征
一、簡介
Opencv之LBP特征(算法) - 我的鍋 - 博客園
LBP(Local Binary Pattern),即局部二進制模式,是一種描述圖像特征像素點與各個像素點之間的灰度關系的局部特征的非參數算法,同時也是一張高效的紋理描述算法。對一個像素點以半徑r畫一個圈,在圈上取K個點(一般為8),這K個點的值(像素值大于中心點為1,否則為0)組成K位二進制數。此即局部二進制模式,實際中使用的是LBP特征譜的直方統計圖。在舊版的Opencv里,使用CvHaarClassifierCascade函數,只支持Harr特征。新版使用CascadeClassifier類,還可以支持LBP特征
優點:
1,旋轉不變性(局部二進制循環左移或右移其表示不變)
2,一定程度上消除了光照變化的問題
3,紋理特征維度低,計算速度快
缺點:
1,當光照變化不均勻時,各像素間的大小關系被破壞,對應的LBP算子也就發生了變化
2,通過引入旋轉不變的定義,使LBP算子更具魯棒性。但這也使得LBP算子丟失了方向信息(如使局部二進制左移或右移,結果是一樣的,但是圖像不一樣)
二、灰度不變性
?該紋理單元的中心灰度值(閾值)為85,其余8個相鄰的灰度值分別為:90、74、63、134、91、83、99、103、90。根據這個閾值計算的定理進行計算,通過閾值計算后,根據圖中箭頭所指的方向可以得到一個局部二進制的模式,即:LBP模式=1101001,且LBP=217,。通過以上LBP算法的計算例子可以看出LBP值僅由中心像素點灰度值和相鄰八個像素點的灰度值決定,LBP特征即表示了其中心像素點的特征,其值的計算還需要和周圍的像素點計算完成,所以,LBP特征與周圍有很大的關系,它包含了圖像點,又包含了邊緣和局部的特征分布信息。
三、旋轉不變性LBP算法
通過上面的介紹,我們不難發現1LBP算法是具有灰度不變性的,在2002年的論文的,除了灰度不變性,作者又為LBP引入了旋轉不變性與等價模式,它是怎么實現的呢?
通過上面的介紹我們知道,對于一個選定的P,LBP算法將產生2^P個不同的輸出值,比如P=8時,值就有256個,這256個模式中每拿出一個都圍繞中心點轉動,那么在多次轉動的過程中,會產生多種不同的結果,而這些結果中值最小的那個模式就是選擇不變的二值模式了。比如:
?在上面的圖中說明的是,圖中的這8種模式,都有相同的旋轉不變模式,就是十進制為15的那個值,即00001111。那么對256種模式都做這種旋轉,得到最小的數作為這種模式的旋轉不變模式,旋轉不變模式一共有36種
總結
以上是生活随笔為你收集整理的Opencv LBP特征的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019上半年软考试题(转)
- 下一篇: php实现邮箱验证