*   >> läser Utbildning artiklar >> science >> programming

Connected Components Använda Opencv

över hörnen av denna polygon Den uppdaterade koden är här Omdömen

Sekvenser och OpenCVOpenCV använder typ CvSeq att bygga sekvenser av objekt i en CvSeq finns 4 pekare... h_next , h_prev, v_next e v_prev, som pekar på andra sekvenser. h_next och h_prev peka på sekvenser på samma nivå och v_next och v_prev pekar på sekvenser på andra nivåer. I vårt fall är stor: den första nivån är de yttre konturerna av de anslutna komponenterna och på den andra nivån är konturerna av hålen i varje komponent Omdömen

Dra de anslutna komponenterna Vi ska slutföra exemplet.

måla ansluta komponenter på en ny bild. Vi använder cvDrawContours funktionen. Lägg till följande efter den sista koden. Den uppdaterade koden är här. för (ptr = konturer, ptr = null;! ptr = ptr-> h_next) {CvScalar color = CV_RGB (rand () och 255, rand () och 255, rand () och 255); cvDrawContours (cc_color, PTR, färg, CV_RGB (0,0,0), -1, CV_FILLED, 8, cvPoint (0,0)); } Köpa och att det! Nu kompilera programmet och köra det med den här bilden.

Du bör få den första bilden som ett resultat :) Ytterligare uppgifter med anslutna komponenter Det finns andra vanliga uppgifter som är relaterade till anslutna komponenter. Jag ska räkna tre av dem här: Få markeringsramen för en komponent Omdömen Vi använder funktionen cvBoundingRect. Den tar emot en CvSeq eller CvContour och en annan parameter som frågar om lådan ska räknas

(1) eller om du kan ta värdet från CvContour

(0). Den returnerar en CvRect, som innehåller 4 attribut: X, y, bredd e höjd.

Ungefärlig en komponent av en polygon Omdömen Vi kan använda cvApproxPoly, som approximerar en kontur av en polygon. Detta sker när du använder CV_CHAIN_APPROX_SIMPLE, men jag vet inte om samma metod används. Testa om en punkt är inne i en ansluten komponent Omdömen Vi kan använda cvPointPolygonTest för att testa om en punkt är inne någon polygon. Eftersom vi kan approximera en kontur av en polygon kan vi använda den här funktionen för att kontrollera om en punkt tillhör en ansluten komponent. Vi får inte glömma att kontrollera om poängen är utanför hålen i komponenten.

Omdömen

Slutsats Omdömen

Detta är bara en introduktion om hur man arbetar med anslutna komponenter. Det finns olika algoritmer och tekniker som använder anslutna komponenter och detta kan ge dig lite hjälp att förstå och genomföra dem. Ett exempel beskrivs i den här artikeln. Omdömen

Page   <<  [1] [2] 
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.