Avsnitt 2. Kapitel 7
single
Kantdetektering
Svep för att visa menyn
Kantdetektion
Kanterna representerar plötsliga förändringar i pixelintensitet, vilket vanligtvis motsvarar objektgränser. Att detektera kanter underlättar formigenkänning och segmentering.
Sobel-kantdetektion
Sobeloperatorn beräknar gradienter (förändringar i intensitet) i både X- och Y-riktning, vilket hjälper till att identifiera horisontella och vertikala 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
Notering
Viktiga parametrar:
src: inmatningsbild (måste vara gråskala);ddepth: djupet på utmatningsbilden (t.ex.cv2.CV_64F);dx: ordningen av derivatan i X-riktning (ange1för horisontella kanter);dy: ordningen av derivatan i Y-riktning (ange1för vertikala kanter);ksize: kärnstorlek (måste vara udda, t.ex.3,5,7).
Canny-kantdetektion
Canny Edge Detector är en flerstegsalgoritm som ger mer exakta kanter genom att:
- Applicera Gaussisk oskärpa för att ta bort brus.
- Hitta intensitetsgradienter med Sobel-filter.
- Undertrycka svaga kanter.
- Använda dubbel tröskling och kantspårning.
# Apply Canny Edge Detector
canny_image = cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
Notering
image: inmatad gråskalebild;threshold1: lägre tröskelvärde för kantdetektion (t.ex.50);threshold2: övre tröskelvärde för kantdetektion (t.ex.150);apertureSize(valfritt): storlek på Sobel-kärnan (standard:3, måste vara udda);L2gradient(valfritt): använd mer exakt L2-norm gradientberäkning (standard:False).
En jämförelse av kantdetekteringsmetoder:
Uppgift
Swipe to start coding
Du har fått en image:
- Konvertera bilden till gråskala och spara i
gray_image; - Applicera Sobel-filter i X- och Y-riktning (utmatningsdjup
cv2.CV_64Foch kernelstorlek3) och spara isobel_x,sobel_yrespektive; - Kombinera Sobel-filtrerade riktningar i
sobel_img; - Applicera ett Canny-filter med tröskelvärden från
200till300och spara icanny_img.
Lösning
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 2. Kapitel 7
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal