Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Terapkan ndi.sobel() pada im sepanjang sumbu pertama dan kedua.
  • Hitung magnitudo tepi keseluruhan menggunakan Teorema Pythagoras. Gunakan np.sqrt() dan np.square().
  • Tampilkan citra magnitudo. Gunakan peta warna skala abu-abu dan atur vmax ke 75.

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