Seksjon 1. Kapittel 10
single
Kantdeteksjon
Sveip for å vise menyen
Kanter representerer plutselige endringer i pikselintensitet, som vanligvis tilsvarer objektsgrenser. Deteksjon av 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
Merk
Viktige parametere:
src: inputbilde (må være gråtonet);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 Edge Detector er en flertrinns algoritme som gir mer nøyaktige kanter ved å:
- Bruke Gaussisk uskarphet for å fjerne støy.
- Finne intensitetsgradienter ved hjelp av Sobel-filtre.
- Undertrykke svake kanter.
- Bruke dobbel terskel og kantsporing.
# Apply Canny Edge Detector
canny_image = cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
Merk
image: input grayscale image;threshold1: lower threshold for edge detection (e.g.,50);threshold2: upper threshold for edge detection (e.g.,150);apertureSize(optional): size of the Sobel kernel (default:3, must be odd);L2gradient(optional): use more accurate L2 norm gradient calculation (default:False).
En sammenligning av kantdeteksjonsmetoder:
Oppgave
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
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 1. Kapittel 10
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