Canny éldetektor
Főbb lépések
Eredménykét bináris képet kapunk (élpont vagy sem).
- Simítás Gauss függvénnyel
- Nagyobb szigma esetén nagyobb méretű éleket detektálhatunk
- Kisebb szigma a finomabb részleteket is detektálja
- Gradiens operátor (Sobel)
- Választható környezetmérettel
- Nem-maximális élek elnyomása
- Egy lokális környezetben csak a legnagyobb gradiens magnitúdó érték marad meg
- Vékony él-kezdemények maradnak
- Hiszterézis küszöbölés (alsó és felső küszöbértékkel)
- Ha nagyobb az él erőssége, mint a felső küszöbérték, akkor megtartjuk
- Ha kisebb az él erőssége, mint az alsó küszöbérték, akkor elvetjük
- Kettő közötti értékek esetén akkor tartjuk meg él pontnak, ha van olyan szomszédja, ami él
- Javasolt arány a küszöbökértékekre 2:1 és 3:1 között
OpenCV megvalósítás
edges = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient]]])
Paraméterek:
- threshold1 és threshold2: alsó és felső küszöb a hiszterézis küszöböléshez (Sobel magnitúdó képen értelmezett!)
- apertureSize: maszkméret Sobel gradiens operátorhoz
- L2gradient: logikai érték, a gradiens magnitúdó számítási módja (pontosabb vagy gyorsabb legyen)
Előzetesen simítsuk a képet a megfelelő kernellel, mert a Canny függvény ezt a lépést nem tartalmazza!