Tôi đang sử dụng hàm local_binary_pattern
trong gói hình ảnh scikit. Tôi muốn tính toán xoay bất biến LBP thống nhất 8 người hàng xóm trong bán kính 1. Đây là mã Python tôi:Tại sao hàm local_binary_pattern trong scikit-image cung cấp cùng một giá trị cho các mẫu khác nhau
import numpy as np
from skimage.feature import local_binary_pattern
image = np.array([[150, 137, 137, 146, 146, 148],
[145, 144, 144, 144, 142, 144],
[149, 144, 144, 143, 153, 147],
[145, 144, 147, 150, 145, 150],
[146, 146, 139, 148, 144, 148],
[129, 139, 142, 150, 146, 140]]).astype(np.uint8)
lbp = local_binary_pattern(image, 8, 1, "uniform")
print "image ="
print image
print "lbp ="
print lbp
Và đây là sản phẩm
image =
[[150 137 137 146 146 148]
[145 144 144 144 142 144]
[149 144 144 143 153 147]
[145 144 147 150 145 150]
[146 146 139 148 144 148]
[129 139 142 150 146 140]]
lbp =
[[ 0. 5. 5. 1. 9. 0.]
[ 9. 6. 9. 9. 8. 9.]
[ 0. 8. 6. 8. 0. 3.]
[ 9. 7. 1. 0. 7. 0.]
[ 1. 1. 8. 9. 7. 1.]
[ 3. 4. 9. 0. 2. 3.]]
gì confuses me là một số giá trị tương tự trong lbp
không tương ứng với cùng một mẫu đồng nhất. Ví dụ, lbp[1,1]
và lbp[2,2]
đều 6. Nhưng LBP của image[1,1]
là
1 0 0
1 x 1
1 1 1
LBP của image[2,2]
là
1 1 1
1 x 0
1 1 1
nơi dựa trên các giá trị trong lbp
, tôi giả sử các local_binary_pattern
chức năng sử dụng 'hơn hoặc bằng 'để so sánh với hàng xóm.
LBP của image[1,1]
và image[2,2]
đều đồng đều. Nhưng làm thế nào có thể image[1,1]
và image[2,2]
có cùng giá trị LBP?
Cảm ơn rất nhiều cho câu trả lời của bạn. Nhưng theo hình 1 trong bài báo, không nên 8 người hàng xóm trong bán kính 1 là 8 điểm ảnh lân cận? – Peter
Các vị trí của các điểm bán kính 1 thực sự rơi vào bên trong 8 hàng xóm, nhưng không phải ở trung tâm của các điểm ảnh cho các hàng xóm chéo, do đó cần phải nội suy. –
Ah, tôi hiểu rồi. Rất cảm ơn cho câu trả lời của bạn! – Peter