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
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
imdengan detektor tepi. - Plot tepi horizontal dengan colormap
seismic. Gunakanvmin=-150danvmax=150untuk 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()