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

Connected Components behulp Opencv

Introductie

In de computer visie en beeldverwerking gebruiken we veel ideeën van andere gebieden van de informatica om onze uitdagingen op te lossen. Het probleem dat ik praten over is de volgende: gezien een monochroom beeld dat ik wil de groepen voorgrond pixels die worden geïsoleerd door een witte regio te verkrijgen. De naam gegeven aan deze groepen is aangesloten component

.

In een aangesloten component, krijgt een punt binnen, ik kan lopen naar een ander punt binnen is het gebruik van alleen de punten die in zijn ook.

Deze afbeelding illustreert wat ik bedoel. Elke kleur is een aangesloten component.

Met behulp van OpenCV

OpenCV is een beroemde computer vision bibliotheek die tonnen coole functies heeft en wordt veel gebruikt. Het behandelt het openen van verschillende soorten beeld- en videobestanden en heeft de code om de aangesloten componenten van een beeld (met inbegrip van de gaten in de componenten) te vinden.

Het eerste wat je moet weten is hoe je een beeld hoe e openen om uw eerste programma samen te stellen. Compilatie instructies voor Windows en Linux.

Dit programma opent een afbeelding en slaat een kopie als result.png. We zullen dit voorbeeld uit te breiden naar het bovenstaande resultaat. Wilt u een meer gedetailleerde uitleg kun je kijken naar deze tutorial.

Het vinden van de aangesloten componenten

Om de aangesloten componenten zullen we de cvFindContours functie van OpenCV vinden. Met de juiste parameters van deze functie geeft een lijst met de contouren van elke aangesloten componenten en voor elk onderdeel van de contour van de gaten erin.

CvMemStorage e CvContour In OpenCV, wanneer we gebruik maken van elk type dynamische structuur die we nodig hebben een CvMemStorage gebruiken om het geheugen te houden voor het. Sinds cvFindContours geeft een lijst, moeten we een CvMemStorage creëren en door te geven aan deze functie. De code die moet worden toegevoegd volgt (een volledige versie van het programma is beschikbaar in het eind van het artikel te zijn

Verklaar de variabelen.

CvMemStorage * mem; CvSeq * contouren, * ptr;
En voeg deze code op de /* ADD CODE HIER * /line:

cvThreshold (img, img, 150, 255, CV_THRESH_BINARY); mem = cvCreateMemStorage

(0); cvFindContours (img, mem , & contouren, sizeof (CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint (0,0)).

De parameter CV_RETR_CCOMP vertelt de functie die de contouren van de aangesloten compon

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