Hjørne- og Blobdetektion
Hjørnedetektion
Hjørnedetektion bruges til at identificere skarpe ændringer i intensitet, hvor to kanter mødes. Det anvendes til feature matching, objektsporing og strukturgenkendelse.
Populære metoder:
Harris hjørnedetektor (
cv2.cornerHarris
): detekterer hjørner baseret på gradientændringer;
Shi-Tomasi hjørnedetektor (
cv2.goodFeaturesToTrack
): vælger de stærkeste hjørner i et billede;
Blob-detektion
Blob-detektion finder områder med ensartet intensitet i et billede, hvilket er nyttigt til objektdetektion og -sporing.
En af de populære metoder til blob-detektion er SimpleBlobDetector
cv2.SimpleBlobDetector
: detekterer nøglepunkter, der repræsenterer blobs baseret på størrelse, form og intensitet.
Swipe to start coding
Du får billederne af fabrikken (factory
) og solsikker (sunflowers
):
- Konverter
factory
-billedet til gråtoner og gem det i variablengray_factory
; - Konverter
sunflowers
-billedet til gråtoner og gem det i variablengray_sunflowers
; - Det er nødvendigt for Harris Detector at konvertere billedmatricen til
float32
, gør dette og gem igray_float
; - Anvend Harris-hjørnedetektion og gem resultatet i
harris_corners
(anbefalede parametre:blockSize=2, ksize=3, k=0.04
); - Brug
dilate()
for at forbedre synligheden afharris_corners
; - Anvend Shi-Tomasi-hjørnedetektion på billedet og gem i
shi_tomasi_corners
(anbefalede parametre:gray_factory, maxCorners=100, qualityLevel=0.01, minDistance=10
) - Opret et
SimpleBlobDetector_Params
-objekt for at initialisere parametrene og gem iparams
; - Opret en blobdetektor med de angivne parametre og gem i
detector
; - Detekter blob-nøglepunkter og gem i
keypoints
.
Løsning
Tak for dine kommentarer!