मैं scikit छवि पैकेज में local_binary_pattern
समारोह का उपयोग कर रहा हूँ। यहाँक्यों scikit छवि में local_binary_pattern समारोह विभिन्न पैटर्न के लिए समान मान प्रदान करता है
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
और उत्पादन
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.]]
मुझे क्या confuses है कि कुछ ही मान है: मैं त्रिज्या 1. यहाँ के भीतर 8 पड़ोसियों के रोटेशन अपरिवर्तनीय वर्दी LBP गणना करने के लिए चाहते हैं मेरी अजगर कोड है lbp
में समान वर्दी पैटर्न के अनुरूप नहीं है। उदाहरण के लिए, lbp[1,1]
और lbp[2,2]
दोनों 6. लेकिन image[1,1]
की LBP
1 0 0
1 x 1
1 1 1
image[2,2]
की LBP
1 1 1
1 x 0
1 1 1
जहां lbp
में मूल्यों पर आधारित है, मैं local_binary_pattern
फ़ंक्शन का उपयोग करता 'अधिक से अधिक मान या पड़ोसियों के साथ तुलना करने के लिए 'बराबर'।
image[1,1]
और image[2,2]
के एलबीपी दोनों समान हैं। लेकिन यह कैसे image[1,1]
और image[2,2]
ही LBP मूल्य हो सकता था?
धन्यवाद। लेकिन कागज में चित्र 1 के मुताबिक, त्रिज्या 1 के भीतर 8 पड़ोसियों को 8 पड़ोसी पिक्सेल नहीं होना चाहिए? – Peter
त्रिज्या 1 के अंक के स्थानों को वास्तव में 8 पड़ोसियों के अंदर गिर जाते हैं, लेकिन सही नहीं विकर्ण पड़ोसियों के लिए पिक्सल के केंद्र है, इसलिए प्रक्षेप के लिए की जरूरत पर। –
आह, मैं देखता हूं। आपके उत्तर के लिए बहुत बहुत धन्यवाद! – Peter