*   >> Lese Utdanning Artikler >> science >> programming

Tilkoblede komponenter ved hjelp Opencv

her

Sekvenser og OpenCVOpenCV bruker den type CvSeq å bygge sekvenser av objekter i en CvSeq det er 4 tips:... h_next , h_prev, v_next e v_prev, som peker til andre sekvenser. h_next og h_prev peker på sekvenser på samme nivå og v_next og v_prev poeng til sekvenser på andre nivåer. I vårt tilfelle er stor: på første nivå er de ytre konturene av de tilkoblede komponentene og på andre nivå er konturene av hullene av hver komponent

Tegning de tilkoblede komponentene Vi vil fullføre eksempel. male koble komponenter på et nytt bilde. Vi bruker cvDrawContours funksjonen.

Legg til følgende etter den siste kode. Den oppdaterte kode er her. for (ptr = konturer; ptr = NULL;! ptr = ptr-> h_next) {CvScalar color = CV_RGB (rand () og 255, rand () og 255, rand () & 255); cvDrawContours (cc_color, PTR, farge, CV_RGB (0,0,0), -1, CV_FILLED, 8, cvPoint (0,0)); }

Og at det! Nå kompilere programmet og kjøre det med dette bildet. Du bør få det første bildet som resultat :) Flere oppgaver med tilkoblede komponentene det er andre vanlige oppgaver som er relatert til tilkoblede komponentene.

Jeg skal liste opp tre av dem her: Få markeringsrammen til en komponent

Vi bruker funksjonen cvBoundingRect. Den mottar en CvSeq eller CvContour og en annen parameter som spør om boksen skal beregnes på nytt

(1) eller om du kan ta verdien fra CvContour

(0). Den returnerer en CvRect, som inneholder 4 attributter: X, Y, bredde e høyde. Tilnærmet en komponent av en polygon

Vi kan bruke cvApproxPoly, som er tilnærmet lik en kontur av en polygon. Dette gjøres ved bruk CV_CHAIN_APPROX_SIMPLE, men jeg vet ikke om den samme metoden brukes.

Test om et punkt er inne i en tilkoblet komponent

Vi kan bruke cvPointPolygonTest å teste om et punkt er inni noen polygon. Siden vi kan tilnærme en kontur av en polygon vi kan bruke denne funksjonen til å sjekke om et punkt tilhører en tilkoblet komponent. Vi må ikke glemme å sjekke om poenget er utenfor hullene i komponenten.

Dette er Konklusjon

bare en introduksjon av hvordan man arbeider med tilkoblede komponentene. Det finnes ulike algoritmer og teknikker som bruker tilkoblede komponentene og dette kan gi deg litt hjelp til å forstå og gjennomføre dem.

Et eksempel er beskrevet i denne artikkelen.

Page   <<  [1] [2] 
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.