Deteksi tepi (2)
Deteksi tepi dapat dilakukan sepanjang beberapa sumbu, lalu digabungkan menjadi satu nilai tepi. Untuk citra 2D, "peta tepi" horizontal dan vertikal dapat digabungkan menggunakan Teorema Pythagoras:
$$z = \sqrt{x^2 + y^2}$$
Salah satu pendeteksi tepi yang populer adalah filter Sobel. Filter Sobel memberikan bobot ekstra pada piksel pusat detektor:
weights = [[ 1, 2, 1],
[ 0, 0, 0],
[-1, -2, -1]]
Untuk latihan ini, tingkatkan upaya deteksi Anda sebelumnya dengan menggabungkan hasil dari dua citra yang difilter Sobel menjadi sebuah peta tepi komposit.
Latihan ini merupakan bagian dari kursus
Analisis Citra Biomedis dengan Python
Instruksi latihan
- Terapkan
ndi.sobel()padaimsepanjang sumbu pertama dan kedua. - Hitung magnitudo tepi keseluruhan menggunakan Teorema Pythagoras. Gunakan
np.sqrt()dannp.square(). - Tampilkan citra magnitudo. Gunakan peta warna skala abu-abu dan atur
vmaxke75.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()