Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengesanan Tepi Canny

Pengesanan Tepi Canny

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-24 19:01:20167semak imbas

Pengesanan tepi ialah teknik pemprosesan imej dalam penglihatan komputer yang melibatkan mengenal pasti garis besar objek dalam imej.

Canny Edge Detection

Pengesanan tepi canny ialah salah satu teknik terbaik untuk pengesanan tepi. Ia direka bentuk untuk mengesan tepi yang bersih dan jelas sambil mengurangkan hingar dan mengelakkan tepi palsu. Ia menggunakan kaedah ambang dua kali untuk mengesan tepi dalam imej: ambang tinggi dan rendah.

img = cv2.Canny('photo.jpg')
img_edges = cv2.Canny(img, 100, 200)
// 100 is the low threshold
// 200 is the high threshold

Ambang menentukan apa yang menjadi kelebihan dan apa yang tidak. Untuk membuat keputusan ini, kami menggunakan nilai kecerunan:

  • Jika nilai kecerunan berada di atas ambang tinggi, nilai itu dianggap sebagai kelebihan kukuh dan ditambahkan pada peta tepi. (tepi kuat)
  • Jika di bawah ambang rendah, ia diabaikan. (bukan tepi)
  • Jika ia berada di antara ambang tinggi dan rendah, ia hanya disimpan jika ia disambungkan ke tepi yang kuat. (potensi tepi)

Apakah nilai kecerunan?

Nilai kecerunan bukan nilai imej mentah. Ia adalah nombor yang dikira yang diperoleh daripada imej mentah dengan menyemak berapa banyak perubahan keamatan piksel dalam imej. Kami menggunakan nilai kecerunan kerana nilai imej mentah tidak secara langsung memberitahu kami di mana bahagian tepi berada.

Contoh mudah untuk menggambarkan perubahan dalam keamatan piksel: jika dua piksel bersebelahan mempunyai nilai yang sangat berbeza (mis. 50 dan 200 dan nilai kecerunan ialah 150), terdapat perubahan besar — ​​ia mungkin kelebihan. Tetapi jika dua piksel berjiran mempunyai nilai yang serupa (cth. 50 dan 52 dan nilai kecerunan ialah 2), terdapat sedikit perubahan & sangat sedikit kemungkinan untuk menjadi kelebihan.

Selepas nilai kecerunan dikira, nilai tersebut kemudiannya dibandingkan dengan ambang untuk menentukan apa yang layak sebagai kelebihan kuat, kelebihan berpotensi atau bukan tepi.

Bagaimanakah kita tahu nilai di antara ambang disambungkan kepada kelebihan yang kukuh?

Dengan menggunakan kaedah yang dipanggil pengesanan tepi oleh histerisis yang menentukan tepi yang disambungkan dan harus disimpan VS dibuang. Algoritma ini berfungsi dengan melihat 8 jiran (piksel bersebelahan langsung - atas, bawah, kiri, kanan dan pepenjuru) bagi setiap piksel tepi yang berpotensi. Sebarang piksel yang disambungkan secara langsung atau tidak langsung ke tepi yang kuat disertakan dalam hasil akhir.

Cara penjejakan tepi berfungsi:

   50   80  110   90
   70  250  190  120
   60  180  150   70
   40   60   80   50

Bayangkan peta kecerunan ini di atas:

Selepas menggunakan ambang (rendah = 100, tinggi = 200), piksel tepi kuat ( > 200) disimpan dengan serta-merta sebagai tepi. Di sini, hanya piksel 250 ditandakan sebagai kelebihan yang kuat.

Piksel tepi yang berpotensi (100–200) ialah 110, 190, 120, 180 dan 150. Kini setelah kami mempunyai kumpulan tepi yang berpotensi, kami melakukan penjejakan tepi untuk memutuskan perkara yang akan kekal & perkara yang dibuang. Algoritma menyemak sama ada mana-mana tepi berpotensi disambungkan secara langsung atau tidak langsung ke tepi kuat (250).

Contohnya:

  • 190 adalah jiran 250, ia disambungkan terus ke tepi yang kuat supaya ia disimpan.
  • 150 adalah jiran 190, ia secara tidak langsung disambungkan ke tepi yang kuat supaya ia juga disimpan.

Piksel tepi lemah (< 100) seperti 80, 90 dan selebihnya diabaikan sepenuhnya, kerana ia dianggap bunyi. Ia tidak akan menjadi sebahagian daripada imej akhir.

Atas ialah kandungan terperinci Pengesanan Tepi Canny. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn