Avsnitt 1. Kapitel 10
single
Kantdetektion
Svep för att visa menyn
Kanter representerar plötsliga förändringar i pixelintensitet, vilket vanligtvis motsvarar objektgränser. Att detektera kanter underlättar formigenkänning och segmentering.
Sobel-kantdiktering
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: ordning av derivatan i X-riktning (ange1för horisontella kanter);dy: ordning av derivatan i Y-riktning (ange1för vertikala kanter);ksize: kernelstorlek (måste vara udda, t.ex.3,5,7).
Canny-kantdiktering
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: 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 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-riktningarna (utmatningsdjup
cv2.CV_64Foch kärnstorlek3) 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 1. Kapitel 10
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