Sektion 2. Kapitel 7
single
Kantdetektion
Stryg for at vise menuen
Kantdetektion
Kanter repræsenterer pludselige ændringer i pixelintensitet, hvilket typisk svarer til objektgrænser. Detektering af kanter hjælper med genkendelse af former og segmentering.
Sobel-kantdetektion
Sobel-operatoren beregner gradienter (ændringer i intensitet) i både X- og Y-retningen, hvilket hjælper med at detektere horisontale og vertikale kanter.
# Convert to grayscale
image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
# Apply Sobel filter
sobel_x = cv2.Sobel(image, cv2.CV_64F, 1, 0, ksize=5) # Detects vertical edges
sobel_y = cv2.Sobel(image, cv2.CV_64F, 0, 1, ksize=5) # Detects horizontal edges
sobel_combined = cv2.magnitude(sobel_x, sobel_y) # Combines both directions
Bemærk
Vigtige parametre:
src: inputbillede (skal være gråtone);ddepth: dybde for outputbilledet (f.eks.cv2.CV_64F);dx: orden af afledt i X-retningen (sæt1for horisontale kanter);dy: orden af afledt i Y-retningen (sæt1for vertikale kanter);ksize: kernelstørrelse (skal være ulige, f.eks.3,5,7).
Canny-kantdetektion
Canny Edge Detector er en flertrinsalgoritme, der giver mere præcise kanter ved at:
- Anvende Gaussisk sløring for at fjerne støj.
- Finde intensitetsgradienter ved hjælp af Sobel-filtre.
- Undertrykke svage kanter.
- Bruge dobbelt tærskelværdi og kantsporing.
# Apply Canny Edge Detector
canny_image = cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
Bemærk
image: input gråtonebillede;threshold1: nedre tærskelværdi for kantdetektion (f.eks.50);threshold2: øvre tærskelværdi for kantdetektion (f.eks.150);apertureSize(valgfri): størrelse på Sobel-kernen (standard:3, skal være ulige);L2gradient(valgfri): brug mere præcis L2-norm gradientberegning (standard:False).
En sammenligning af kantdetektionsmetoder:
Opgave
Swipe to start coding
Du får et image:
- Konverter billedet til gråtoner og gem det i
gray_image; - Anvend Sobel-filter i X- og Y-retninger (output-dybde
cv2.CV_64Fog kernel-størrelse3) og gem i henholdsvissobel_x,sobel_y; - Kombinér Sobel-filtrerede retninger i
sobel_img; - Anvend et Canny-filter med tærskel fra
200til300og gem icanny_img.
Løsning
Var alt klart?
Tak for dine kommentarer!
Sektion 2. Kapitel 7
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat