Randdetectie
Randdetectie
Randen vertegenwoordigen plotselinge veranderingen in pixelintensiteit, wat meestal overeenkomt met objectgrenzen. Het detecteren van randen helpt bij vormherkenning en segmentatie.
Sobel-randdetectie
De Sobel-operator berekent gradiënten (veranderingen in intensiteit) in zowel de X- als Y-richting, waardoor horizontale en verticale randen kunnen worden gedetecteerd.
Canny-randdetectie
De Canny-randdetector is een meerstapsalgoritme dat nauwkeurigere randen oplevert door:
Het toepassen van een Gaussiaanse vervaging om ruis te verwijderen.
Het vinden van intensiteitsgradiënten met behulp van Sobel-filters.
Het onderdrukken van zwakke randen.
Het gebruik van dubbele drempelwaarden en randtracering.
Een vergelijking van randdetectiemethoden:
Taak
Swipe to start coding
Je krijgt een image
:
- Zet de afbeelding om naar grijswaarden en sla op in
gray_image
; - Pas het Sobel-filter toe in de X- en Y-richting (uitvoer-diepte
cv2.CV_64F
en kernelgrootte3
) en sla respectievelijk op insobel_x
,sobel_y
; - Combineer de Sobel-gefilterde richtingen in
sobel_img
; - Pas een Canny-filter toe met een drempel van
200
tot300
en sla op incanny_img
.
Oplossing
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 2. Hoofdstuk 7