您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關C++ OpenCV特征提取之如何實現LBP特征提取的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
前言
LBP(Local binary pattern)是一個易理解且有效的局部圖像特征,應用很廣泛。它具有旋轉不變性和灰度不變性的顯著的有點。已經廣泛的應用于紋理分類、紋理分割、人臉圖像分析等領域。
介紹
局部二值模式(Local binary patterns,LBP)是機器視覺領域中用于描述圖像局部紋理特征的算子,具有旋轉不變性和灰度不變性等顯著的優點。它是由T. Ojala, M.Pietik?inen, 和 D. Harwood [1][2]在1994年提出,LBP在紋理分類問題上是一個非常強大的特征;如果LBP與HOG結合,則可以在一些集合上十分有效的提升檢測效果。LBP是一個簡單但非常有效的紋理運算符。它將各個像素與其附近的像素進行比較,并把結果保存為二進制數。由于其辨別力強大和計算簡單,局部二值模式紋理算子已經在不同的場景下得到應用。LBP最重要的屬性是對諸如光照變化等造成的灰度變化的魯棒性。它的另外一個重要特性是它的計算簡單,這使得它可以對圖像進行實時分析。
代碼演示
我們再新建一個項目名為opencv--sift,按照配置屬性(VS2017配置OpenCV通用屬性),然后在源文件寫入#include和main方法
LBP基本特征的提取
1.先獎圖片轉為灰度圖
2.獲取圖片的寬度和高度
3.創建一個空的輸出圖像,大小是原來的寬度高度減2,因為3*3的算法最兩邊是算不到的,所以我們用減2的大小。
4.根據源圖的值計算LBP
5.輸出圖像
然后我們看一下輸出的結果
上圖基本特征全部顯示了出來,效果還是不錯的。
感謝各位的閱讀!關于“C++ OpenCV特征提取之如何實現LBP特征提取”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。