स्किकिट-लर्न, जिसे आमतौर पर स्केलेर के रूप में जाना जाता है, पायथन में एक पुस्तकालय है जिसका उपयोग मशीन लर्निंग एल्गोरिदम को लागू करने के उद्देश्य से किया जाता है। यह एक ओपन सोर्स लाइब्रेरी है इसलिए इसे मुफ्त में इस्तेमाल किया जा सकता है। यह पुस्तकालय Numpy, SciPy और Matplotlib पुस्तकालयों पर बनाया गया है।
एक छवि में समोच्च खोजने के लिए 'मार्चिंग स्क्वायर' की विधि का उपयोग किया जाता है। 'स्किमेज' लाइब्रेरी के 'माप' वर्ग में मौजूद 'find_contours' फ़ंक्शन का उपयोग किया जाता है। इसमें सरणी में मौजूद मानों को एक रेखीय तरीके से प्रक्षेपित किया जाता है।
इस तरह, आउटपुट इमेज में कंट्रोस की शुद्धता काफी बेहतर होगी। यदि छवि में समोच्च प्रतिच्छेद करते हैं, तो आकृति खुली होती है, अन्यथा वे बंद हो जाती हैं।
आइए समझते हैं कि स्किकिट-लर्न लाइब्रेरी का उपयोग करके किसी इमेज में कंट्रोवर्सी कैसे खोजें -
उदाहरण
import numpy as np
import matplotlib.pyplot as plt
from skimage import measure
x, y = np.ogrid[-6.7:np.pi:215j, -1.2:np.pi:215j]
r = np.sin(np.exp((np.sin(x)**3 + np.cos(y)**2)))
contours = measure.find_contours(r, 0.8)
fig, ax = plt.subplots()
ax.imshow(r, cmap=plt.cm.gray)
for contour in contours:
ax.plot(contour[:, 1], contour[:, 0], linewidth=2)
ax.axis('Image')
ax.set_xticks([])
ax.set_yticks([])
plt.show() आउटपुट

स्पष्टीकरण
-
आवश्यक पैकेज पर्यावरण में आयात किए जाते हैं।
-
NumPy पैकेज की मदद से डेटा जेनरेट किया जाता है।
-
'find_contours' फ़ंक्शन का उपयोग छवि की रूपरेखा निर्धारित करने के लिए किया जाता है।
-
'सबप्लॉट' फ़ंक्शन का उपयोग मूल छवि और छवि को कंसोल पर आकृति के साथ दिखाने के लिए किया जाता है।