शुरू करेंमुफ़्त में शुरू करें

Edges पहचानें (1)

फिल्टर्स को "डिटेक्टर्स" के रूप में भी इस्तेमाल किया जा सकता है। यदि इमेज का कोई भाग वेटिंग पैटर्न से मेल खाता है, तो लौटाया गया मान बहुत अधिक (या बहुत कम) होगा.

एज डिटेक्शन के केस में, यह पैटर्न किसी समतल में इंटेंसिटी का बदलाव होता है। एक फिल्टर जो horizontal edges डिटेक्ट करता है, वह ऐसा दिख सकता है:

weights = [[+1, +1, +1],
           [ 0,  0,  0],
           [-1, -1, -1]]

इस अभ्यास में, एक वर्टिकल edge डिटेक्टर बनाइए और देखिए कि यह हाथ की x-ray (im) पर कितना अच्छा काम करता है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में बायोमेडिकल इमेज विश्लेषण

पाठ्यक्रम देखें

अभ्यास निर्देश

  • 3x3 का एक फ़िल्टर-वेट्स array बनाइए जो बाएँ से दाएँ इंटेंसिटी बदलने पर डिटेक्ट करे। केवल 1, 0 और -1 मानों का उपयोग करें.
  • im को edge डिटेक्टर के साथ convolve कीजिए.
  • horizontal edges को seismic colormap से प्लॉट करें। अपने colormap scale को नियंत्रित करने के लिए vmin=-150 और vmax=150 का उपयोग करें.
  • एक colorbar जोड़ें और परिणाम render करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Set weights to detect vertical edges
weights = [[____], [____], [____]]

# Convolve "im" with filter weights
edges = ____

# Draw the image in color
plt.imshow(____, ____, vmin=-150, vmax=150)
____
format_and_render_plot()
कोड संपादित करें और चलाएँ