图像处理(十三)LBP特征提取
LBP 圖 與灰度圖很像,只是將灰度轉為LBP值
那么什么事LBP值
LBP值就是以灰度圖中每個像素點的灰度為閾值,周圍灰度超過閾值為1,否則為0,然后將1與0排列為2進制數,最后換算成10進制的數字,這個數字就是該點的LBP值。
周圍像素點的范圍及形狀又將LBP值分成不同類別:
首先正方形以33 8位為常見:分別是image[h-1,w-1]image[h-1,w]image[h-1,w+1]
image[h+1,w-1]image[h+1,w]image[h+1,w+1]image[h,w-1]image[h,w+1]
其次圓形:圓形的制作 dh = np.round([radiusnp.sin(x2np.pi/count) for x in range(count)])
dw = np.round([radiusnp.cos(x2np.pi/count) for x in range(count)])
for i in range(count):
h += dh[i]
w += dw[i]
最后等價模式,等價模式可以實現降維處理,極大的減少了運算成本,作用原理就是將LBP2的n次方特征向量轉換為n(n-1)的特征向量,轉換原理就是原本的2的n次方種數據依據0-1或1-0的跳躍種類,等價模式中跳躍種類只有2次,2次可覆蓋90%比例,所謂跳躍我認為就是灰度像素變為LBP像素過程中0與1的變換,因為既然變換就是兩個像素間變換,而像素位置不變,只能是類型變換過程中產生的變換,具體怎么應用不知道。
將灰度圖轉為LBP圖后,目的是獲取特征向量,將特征向量作為訓練集進行訓練
python 有現成的LBP特征檢測函數 skimage.feature.local_binary_pattern()
這個函數的關鍵參數:1、灰圖片 2、依賴點的數量 3、半徑
轉為LBP圖后很容易就可以轉為直方圖,提取出特征向量,numpy有現成的函數:
np.histogram()
這個函數的關鍵參數:1、原圖 2、normed是否進行歸一化 3、bins為LBP的最大值+1
4、LBP的范圍range=(0,bins)
代碼如下:
總結
以上是生活随笔為你收集整理的图像处理(十三)LBP特征提取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机cf编程,警察牧马人宏自定义编程计
- 下一篇: iOS审核被拒大全