Pengesanan kelebihan adalah teknik analisis imej penting untuk pengiktirafan objek berdasarkan garis besar dan penting untuk pemulihan maklumat imej. Ia mengekstrak ciri -ciri utama seperti garis dan lengkung, yang sering digunakan oleh penglihatan komputer lanjutan dan algoritma pemprosesan imej. Algoritma pengesanan kelebihan yang mantap mengenal pasti tepi utama sambil menekan tepi palsu yang disebabkan oleh bunyi.
tepi mewakili perubahan tempatan yang signifikan dalam intensiti imej (nilai piksel), biasanya berlaku di sempadan rantau. Tutorial ini menerangkan algoritma pengesanan kelebihan canny dan pelaksanaan pythonnya.
pengesan kelebihan canny
Dinamakan selepas penciptanya, John F. Canny (1986), pengesan canny mengambil imej skala kelabu sebagai input dan output imej yang menonjolkan kecenderungan intensiti (tepi).
Proses ini melibatkan:
t1
(lebih rendah), dengan t2
, pengesanan tepi kawalan. Penjejakan bermula pada mata di atas t1 > t2
dan berterusan sehingga kecerunan jatuh di bawah t1
. Mata di atas t2
sentiasa tepi; titik di bawah t1
tetapi di atas t1
hanya tepi jika disambungkan ke mata di atas t2
. t1
/t1
adalah parameter yang mempengaruhi output pengesan canny. t2
Pelaksanaan Python
Dua kaedah ditunjukkan: menggunakan dan scikit-image
. OpenCV
Menggunakan scikit-image
(mis., scikit-image
on Ubuntu). Fungsi sudo apt-get install python-skimage
(dalam modul canny()
) menggunakan pengesan canny. feature
Kod:
output (imej yang dikesan tepi):
from skimage import io, feature im = io.imread('boat.png') edges = feature.canny(im) io.imshow(edges) io.show()
Pelarasan parameter menghasilkan hasil pengesanan kelebihan yang berbeza -beza.
Menggunakan
Pasang OpenCV (lihat panduan pemasangan yang berkaitan untuk sistem operasi anda). Fungsi OpenCV Kod: Argumen: output (imej yang dikesan tepi): Kesimpulan
dan Atas ialah kandungan terperinci Pengesan Edge Canny Menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!Canny()
melakukan pengesanan kelebihan. from skimage import io, feature
im = io.imread('boat.png')
edges = feature.canny(im)
io.imshow(edges)
io.show()
im
(imej), ambang yang lebih rendah (25), ambang atas (255), L2gradient=False
(menggunakan l1-norma). matplotlib
memaparkan hasilnya.
scikit-image
, menunjukkan keberkesanannya dalam pengesanan tepi. OpenCV