Mulai sekarangMulai gratis

Deteksi tepi (1)

Filter juga dapat digunakan sebagai "detektor." Jika suatu bagian gambar cocok dengan pola pembobotan, nilai yang dikembalikan akan sangat tinggi (atau sangat rendah).

Dalam kasus deteksi tepi, polanya adalah perubahan intensitas sepanjang suatu bidang. Sebuah filter yang mendeteksi tepi horizontal dapat terlihat seperti ini:

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

Untuk latihan ini, buat detektor tepi vertikal dan lihat seberapa baik kinerjanya pada citra rontgen tangan (im).

Latihan ini merupakan bagian dari kursus

Analisis Citra Biomedis dengan Python

Lihat Kursus

Instruksi latihan

  • Buat array bobot filter 3x3 yang mendeteksi ketika intensitas berubah dari kiri ke kanan. Gunakan hanya nilai 1, 0, dan -1.
  • Lakukan konvolusi im dengan detektor tepi.
  • Plot tepi horizontal dengan colormap seismic. Gunakan vmin=-150 dan vmax=150 untuk menyesuaikan skala colormap Anda.
  • Tambahkan colorbar dan render hasilnya.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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()
Edit dan Jalankan Kode