Kantdeteksjon
Kantdeteksjon
Kanter representerer plutselige endringer i pikselintensitet, som vanligvis tilsvarer objekters grenser. Å oppdage kanter hjelper med gjenkjenning av former og segmentering.
Sobel kantdeteksjon
Sobel-operatoren beregner gradienter (endringer i intensitet) i både X- og Y-retning, og hjelper med å oppdage 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
Viktige parametere:
src: inputbilde (må være gråtone);ddepth: dybde på utgangsbildet (f.eks.cv2.CV_64F);dx: orden på deriveringen i X-retning (sett1for horisontale kanter);dy: orden på deriveringen i Y-retning (sett1for vertikale kanter);ksize: kjernestørrelse (må være oddetall, f.eks.3,5,7).
Canny kantdeteksjon
Canny-kantdetektoren er en flerstegsalgoritme som gir mer nøyaktige kanter ved å:
- Bruke Gaussisk uskarphet for å fjerne støy.
- Finne intensitetsgradienter med Sobel-filtre.
- Undertrykke svake kanter.
- Bruke dobbel terskling og kantsporing.
# Apply Canny Edge Detector
canny_image = cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
image: input gråtonebilde;threshold1: nedre terskelverdi for kantdeteksjon (f.eks.50);threshold2: øvre terskelverdi for kantdeteksjon (f.eks.150);apertureSize(valgfritt): størrelse på Sobel-kjernen (standard:3, må være et oddetall);L2gradient(valgfritt): bruk mer nøyaktig L2-norm gradientberegning (standard:False).
En sammenligning av kantdeteksjonsmetoder:
Swipe to start coding
Du har fått et image:
- Konverter bildet til gråtoner og lagre i
gray_image; - Bruk Sobel-filter i X- og Y-retningene (utgangsdybde
cv2.CV_64Fog kjernestørrelse3) og lagre i henholdsvissobel_x,sobel_y; - Kombiner Sobel-filtrerte retninger i
sobel_img; - Bruk et Canny-filter med terskelverdier fra
200til300og lagre icanny_img.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
What are the main differences between Sobel and Canny edge detection?
Can you explain when to use Sobel versus Canny edge detection?
Can you provide more details on how the Canny edge detector works?
Awesome!
Completion rate improved to 3.45
Kantdeteksjon
Sveip for å vise menyen
Kantdeteksjon
Kanter representerer plutselige endringer i pikselintensitet, som vanligvis tilsvarer objekters grenser. Å oppdage kanter hjelper med gjenkjenning av former og segmentering.
Sobel kantdeteksjon
Sobel-operatoren beregner gradienter (endringer i intensitet) i både X- og Y-retning, og hjelper med å oppdage 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
Viktige parametere:
src: inputbilde (må være gråtone);ddepth: dybde på utgangsbildet (f.eks.cv2.CV_64F);dx: orden på deriveringen i X-retning (sett1for horisontale kanter);dy: orden på deriveringen i Y-retning (sett1for vertikale kanter);ksize: kjernestørrelse (må være oddetall, f.eks.3,5,7).
Canny kantdeteksjon
Canny-kantdetektoren er en flerstegsalgoritme som gir mer nøyaktige kanter ved å:
- Bruke Gaussisk uskarphet for å fjerne støy.
- Finne intensitetsgradienter med Sobel-filtre.
- Undertrykke svake kanter.
- Bruke dobbel terskling og kantsporing.
# Apply Canny Edge Detector
canny_image = cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
image: input gråtonebilde;threshold1: nedre terskelverdi for kantdeteksjon (f.eks.50);threshold2: øvre terskelverdi for kantdeteksjon (f.eks.150);apertureSize(valgfritt): størrelse på Sobel-kjernen (standard:3, må være et oddetall);L2gradient(valgfritt): bruk mer nøyaktig L2-norm gradientberegning (standard:False).
En sammenligning av kantdeteksjonsmetoder:
Swipe to start coding
Du har fått et image:
- Konverter bildet til gråtoner og lagre i
gray_image; - Bruk Sobel-filter i X- og Y-retningene (utgangsdybde
cv2.CV_64Fog kjernestørrelse3) og lagre i henholdsvissobel_x,sobel_y; - Kombiner Sobel-filtrerte retninger i
sobel_img; - Bruk et Canny-filter med terskelverdier fra
200til300og lagre icanny_img.
Løsning
Takk for tilbakemeldingene dine!
single