*   >> Lezen Onderwijs artikelen >> science >> programming

Connected Components behulp Opencv

enten moeten worden afgezogen CV_CHAIN_APPROX_SIMPLE benadert de contour de een veelhoek en elk contour wordt vertegenwoordigd door de lijst van de hoekpunten van die veelhoek De geactualiseerde code is hier

Sequences en OpenCVOpenCV maakt gebruik van het type CvSeq om sequenties van objecten te bouwen in een CvSeq er 4 tips:... h_next , h_prev, v_next e v_prev, dat punt aan andere sequenties. h_next en h_prev punt sequenties op hetzelfde niveau en v_next en v_prev punten sequenties op andere niveaus.

In ons geval is dit geweldig: op het eerste niveau zijn de buitenste contouren van de aangesloten componenten en op de tweede verdieping zijn de contouren van de gaten van elke component

Het tekenen van de aangesloten componenten We zullen het voorbeeld te voltooien. het schilderen van de connect componenten op een nieuwe afbeelding. We gebruiken de cvDrawContours functie. Voeg de volgende na de laatste code. De geactualiseerde code is hier.

voor (ptr = contouren; ptr = NULL;! ptr = ptr-> h_next) {CvScalar color = CV_RGB (rand () en 255 rand () en 255 rand () & 255); cvDrawContours (cc_color, PTR, kleur, CV_RGB (0,0,0), -1, CV_FILLED, 8, cvPoint (0,0)); }

En dat het! Nu compileren het programma en voer het uit met dit beeld. Je moet je de eerste afbeelding als gevolg :) Meer taken met aangesloten componenten Er zijn andere veel voorkomende taken die gerelateerd zijn aan de aangesloten componenten.

Ik zal drie van hen hier een lijst: Krijg het selectiekader van een component

We gebruiken de functie cvBoundingRect. Het ontvangt een CvSeq of CvContour en een andere parameter die vraagt ​​of de doos moet opnieuw worden berekend

(1) of als u de waarde van CvContour kunnen nemen

(0). Het geeft een CvRect, dat bestaat uit 4 attributen: x, y, width e hoogte. Benader een onderdeel van een veelhoek

We kunnen cvApproxPoly, dat een contour benadert door een veelhoek gebruiken.

Dit wordt gedaan bij het gebruik CV_CHAIN_APPROX_SIMPLE, maar ik weet niet of het dezelfde methode wordt gebruikt. Test of een punt is in een aangesloten component

We kunnen cvPointPolygonTest gebruiken om te testen of een punt is binnen enkele veelhoek. Aangezien wij een contour kunnen benaderen door een veelhoek kunnen we deze functie gebruiken om te controleren of een punt maakt deel uit van een aangesloten component. We moeten niet vergeten om te controleren of het punt is buiten de gaten in de component.

Conclusie

Dit is slechts een intro

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.