![](/img/trans.png)
[英]Why does the local_binary_pattern function in scikit-image provide same value for different patterns?
[英]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示例 。 具體來說,請看下圖:
'uniform'
,因此結果僅包括所有黑點都相鄰且所有白點都相鄰的圖案。 所有其他組合都標記為“非均勻”。 'uniform'
,而不是'nri_uniform'
(請參閱API文檔 ),其中“nri”表示非旋轉不變。 這意味着'uniform'
是旋轉不變的。 結果,表示為00001111(0s和1s代表上圖中的黑色和白色點)的邊緣被收集到與00111100相同的箱子中(0s是相鄰的,因為我們從前到后環繞)。 希望有所幫助! 如果您還沒有,那么LBP示例值得一看。 我聽說有人花了很多時間;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.