簡體   English   中英

具有scikit-image local_binary_pattern函數的統一LBP

[英]Uniform LBP with scikit-image local_binary_pattern function

我正在使用skimage.feature的local_binary_pattern和統一模式,如下所示:

>>> from skimage.feature import local_binary_pattern
>>> lbp_image=local_binary_pattern(some_grayscale_image,8,2,method='uniform')
>>> histogram=scipy.stats.itemfreq(lbp_image)
>>> print histogram
[[  0.00000000e+00   1.57210000e+04]
 [  1.00000000e+00   1.86520000e+04]
 [  2.00000000e+00   2.38530000e+04]
 [  3.00000000e+00   3.23200000e+04]
 [  4.00000000e+00   3.93960000e+04]
 [  5.00000000e+00   3.13570000e+04]
 [  6.00000000e+00   2.19800000e+04]
 [  7.00000000e+00   2.46530000e+04]
 [  8.00000000e+00   2.76230000e+04]
 [  9.00000000e+00   4.88030000e+04]]

當我在附近拍攝8個像素時,預計會獲得59個不同的LBP碼(因為統一的方法),但它只給了我9個不同的LBP碼。 更一般地,總是返回P + 1個標簽(其中P是鄰居的數量)。

這是另一種統一的方法,還是我誤解了什么?

好問題。 看一下畫廊中的LBP示例 具體來說,請看下圖:

LBP模式

  • 均勻性:由於您選擇了'uniform' ,因此結果僅包括所有黑點都相鄰且所有白點都相鄰的圖案。 所有其他組合都標記為“非均勻”。
  • 旋轉不變性:請注意,您選擇'uniform' ,而不是'nri_uniform' (請參閱API文檔 ),其中“nri”表示非旋轉不變。 這意味着'uniform' 旋轉不變的。 結果,表示為00001111(0s和1s代表上圖中的黑色和白色點)的邊緣被收集到與00111100相同的箱子中(0s是相鄰的,因為我們從前到后環繞)。
  • 旋轉不變,均勻組合:考慮旋轉不變性,有9種獨特,統一的組合:
    • 00000000
    • 00000001
    • 00000011
    • 00000111
    • 00001111
    • 00011111
    • 00111111
    • 01111111
    • 11111111
  • 不均勻的結果:如果你仔細觀察你的結果,實際上有10個箱子,而不是9個。第10個箱子將所有不均勻的結果混為一談。

希望有所幫助! 如果您還沒有,那么LBP示例值得一看。 我聽說有人花了很多時間;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM