Edges का पता लगाएँ (2)
Edge detection कई axes पर किया जा सकता है और फिर उन्हें एक ही edge मान में जोड़ा जा सकता है। 2D images में क्षैतिज और लंबवत "edge maps" को पाइथागोरस प्रमेय से जोड़ा जा सकता है:
$$z = \sqrt{x^2 + y^2}$$
एक लोकप्रिय edge detector Sobel filter है। Sobel filter डिटेक्टर के center pixels को ज़्यादा weight देता है:
weights = [[ 1, 2, 1],
[ 0, 0, 0],
[-1, -2, -1]]
इस अभ्यास में, दो Sobel-filtered images के परिणामों को मिलाकर एक कॉम्पोज़िट edge map बनाएँ और अपने पिछले detection प्रयास को बेहतर करें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में बायोमेडिकल इमेज विश्लेषण
अभ्यास निर्देश
imपर पहले और दूसरे axis के alongndi.sobel()लागू करें.- पाइथागोरस प्रमेय का उपयोग करके overall edge magnitude निकालें।
np.sqrt()औरnp.square()का उपयोग करें. - magnitude image दिखाएँ। ग्रेस्केल colormap का उपयोग करें और
vmaxको75पर सेट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Apply Sobel filter along both axes
sobel_ax0 = ndi.sobel(____, axis=____)
sobel_ax1 = ____
# Calculate edge magnitude
edges = ____
# Plot edge magnitude
plt.imshow(____, ____, ____)
format_and_render_plot()