हिस्टेरेसिस किसी परिणाम के पिछड़ने वाले प्रभाव को संदर्भित करता है। थ्रेशोल्ड के संबंध में, हिस्टेरेसिस उन क्षेत्रों को संदर्भित करता है जो एक विशिष्ट निम्न थ्रेशोल्ड मान से ऊपर या उच्च थ्रेशोल्ड मानों से ऊपर हैं। यह उन क्षेत्रों को संदर्भित करता है जो अत्यधिक आत्मविश्वास वाले स्वभाव के हैं।
हिस्टेरेसिस की मदद से, इमेज में ऑब्जेक्ट के किनारों के बाहर के शोर को नजरअंदाज किया जा सकता है।
आइए देखें कि scikit-learn लाइब्रेरी का उपयोग करके हिस्टेरेसिस थ्रेशोल्ड कैसे प्राप्त किया जा सकता है:
उदाहरण
import matplotlib.pyplot as plt
from skimage import data, filters
fig, ax = plt.subplots(nrows=2, ncols=2)
orig_img = data.coins()
edges = filters.sobel(orig_img)
low = 0.1
high = 0.4
lowt = (edges > low).astype(int)
hight = (edges > high).astype(int)
hyst = filters.apply_hysteresis_threshold(edges, low, high)
ax[0, 0].imshow(orig_img, cmap='gray')
ax[0, 0].set_title('Original image')
ax[0, 1].imshow(edges, cmap='magma')
ax[0, 1].set_title('Sobel edges')
ax[1, 0].imshow(lowt, cmap='magma')
ax[1, 0].set_title('Low threshold')
ax[1, 1].imshow(hight + hyst, cmap='magma')
ax[1, 1].set_title('Hysteresis threshold')
for a in ax.ravel():
a.axis('off')
plt.tight_layout()
plt.show()आउटपुट

व्याख्या
- आवश्यक लाइब्रेरी आयात की जाती हैं।
- सबप्लॉट फंक्शन का उपयोग कंसोल पर इमेज प्लॉट करने से पहले प्लॉट क्षेत्र सेट करने के लिए किया जाता है।
- scikit-learn पैकेज में पहले से मौजूद 'coin' डेटा को इनपुट के रूप में उपयोग किया जाता है।
- 'sobel' फिल्टर का उपयोग इनपुट की 'sobel' इमेज प्राप्त करने के लिए किया जाता है, जिसमें परिणामी इमेज में किनारों पर जोर दिया जाता है।
- 'apply_hysteresis_threshold' फंक्शन का उपयोग एक निश्चित थ्रेशोल्ड से ऊपर और नीचे के मान प्राप्त करने के लिए किया जाता है।
- इस डेटा को 'imshow' फंक्शन का उपयोग करके कंसोल पर प्रदर्शित किया जाता है।