簡體   English   中英

如何計算圖像末端的lbp碼?

[英]How to calculate the lbp codes at the ends of the images?

例如,坐標為(1,1)的像素的lbp代碼可以用像素(0,0)進行計算; (0,1); (0,2); (1,2); (2,2); (2,1); (2,0); (1,0),但極值像素不具有這8個鄰域像素,即,像素(0,0)僅具有3個鄰居。

因為我已經使用sicikit映像獲得了LBP映像,所以出現了這個問題,代碼如下:

lbp = feature.local_binary_pattern (gray, 8, 1, 'ror')

然后我打印了灰色圖像的值並得到了這些值:

[[185 185 190 ... 176 172 178]]
 [183 180 181 ... 194 185 175]
 [203 199 199 ... 201 193 179]
 ...
 [205 188 182 ... 183 183 182]
 [207 197 194 ... 193 190 186]
 [206 201 201 ... 201 199 197]]

我還打印了LBP圖像的值並得到了這些值:

[[  1.  17.   1. ...  15.  31.   1.]
 [ 27. 255. 127. ...   7.   7.  31.]
 [  0.  31.  31. ...   1.  31.  15.]
 ...
 [ 17.  31.  63. ...  63. 111.  31.]
 [  0.  31.  31. ...  15.  15.   7.]
 [  1.  25.  17. ...   0.   1.   1.]]

我知道,例如,右上角像素的lbp碼是正確的,因為它提供的值為7,但我不明白如何獲得極限值的LBP碼。 謝謝。

函數skimage.feature.local_binary_patternskimage.feature.local_binary_pattern執行零填充。 結果,實際上是從填充圖像中計算出LBP代碼:

[[  0   0   0   0 ...   0   0   0   0]
 [  0 185 185 190 ... 176 172 178   0]
 [  0 183 180 181 ... 194 185 175   0]
 [  0 203 199 199 ... 201 193 179   0]
 ...
 [  0 205 188 182 ... 183 183 182   0]
 [  0 207 197 194 ... 193 190 186   0]
 [  0 206 201 201 ... 201 199 197   0]
 [  0   0   0   0 ...   0   0   0   0]]

在上圖上使用'ror'方法時,與最左上角像素相對應的LBP為:

 0   0   0           0 0 0
 0  185 185    >>    0   1    >>    00000001    >>    1
 0  183 180          0 0 0  

對應於第一行第二個像素的LBP變為:

 0   0   0           0 0 0
185 185 190    >>    1   1    >>    00010001    >>    17
183 180 181          0 0 0  

與最右上角像素相對應的LBP為:

 0    0   0          0 0 0
172  178  0    >>    0   0    >>    000000001    >>    1
185  175  0          1 0 0  

... 等等。

暫無
暫無

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

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