Začněte nyníZačněte zdarma

Detekce hran (1)

Filtry lze využít také jako "detektory". Pokud část obrazu odpovídá vzoru vah, vrácená hodnota bude velmi vysoká (nebo velmi nízká).

Při detekci hran je tímto vzorem změna intenzity podél roviny. Filtr detekující horizontální hrany může vypadat takto:

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

V tomto cvičení vytvoř detektor vertikálních hran a otestuj, jak dobře funguje na rentgenovém snímku ruky (im).

Toto cvičení je součástí kurzu

Biomedical Image Analysis in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř pole filtračních vah o velikosti 3x3, které detekuje změnu intenzity zleva doprava. Používej pouze hodnoty 1, 0 a -1.
  • Proveď konvoluci im s detektorem hran.
  • Zobraz horizontální hrany pomocí colormapy seismic. Pro nastavení rozsahu colormapy použij vmin=-150 a vmax=150.
  • Přidej barevnou škálu (colorbar) a vykresli výsledky.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód