*   >> Læs Uddannelse artikler >> science >> programming

Connected Components Brug OpenCV

præsenteret ved listen over toppunkter af denne polygon Den opdaterede kode er her

Sekvenser og OpenCVOpenCV bruger typen CvSeq at bygge sekvenser af objekter i en CvSeq der 4 pejlemærker:... h_next , h_prev, v_next e v_prev, der peger på andre sekvenser. h_next og h_prev punkt til sekvenser på samme niveau og v_next og v_prev peger på sekvenser på andre niveauer.

I vores tilfælde er det stor: på første niveau er de ydre konturer af de tilsluttede komponenter og på det andet niveau er konturerne af hullerne i hver komponent

Tegning de tilsluttede komponenter Vi fuldføre eksempel. male forbinde komponenter på et nyt billede. Vi bruger cvDrawContours funktion. Tilføje følgende efter sidste kode. Den opdaterede kode er her.

til (PTR = konturer, PTR = NULL;! PTR = ptr-> h_next) {CvScalar color = CV_RGB (rand () & 255, rand () & 255, rand () & 255); cvDrawContours (cc_color, PTR, farve, CV_RGB (0,0,0), -1, CV_FILLED, 8, cvPoint (0,0)); }

Og at det! Nu kompilere programmet og køre det med dette billede. Du bør få det første billede som resultat :) Flere opgaver med tilsluttede komponenter Der er andre fælles opgaver, der er relateret til tilsluttede komponenter. Jeg vil nævne tre af dem her: Hent afgrænsningsrammen af ​​en komponent

Vi bruger funktionen cvBoundingRect.

Det modtager en CvSeq eller CvContour og en anden parameter, der spørger, om kassen skal genberegnes

(1), eller hvis du kan tage værdien fra CvContour

(0). Den returnerer en CvRect, der indeholder 4 attributter: x, y, bredde e højde. Omtrentlig en komponent ved en polygon

Vi kan bruge cvApproxPoly, der tilnærmer en kontur af en polygon. Dette gøres ved brug af CV_CHAIN_APPROX_SIMPLE, men jeg ved ikke, hvis der anvendes den samme metode. Test, hvis et punkt er inde i en tilsluttet komponent

Vi kan bruge cvPointPolygonTest at teste om et punkt er inde i nogle polygon.

Da vi kan tilnærme en kontur af en polygon, vi kan bruge denne funktion til at kontrollere, om et punkt tilhører en tilsluttet komponent. Vi må ikke glemme at kontrollere, om det punkt er uden huller i komponenten.

Konklusion

Dette er kun en introduktion af, hvordan man arbejder med tilsluttede komponenter. Der er forskellige algoritmer og teknikker, der bruger tilsluttede komponenter, og dette kan give dig noget hjælp til at forstå og gennemføre dem. Et eksempel er beskrevet i denne artikel.

Page   <<  [1] [2] 
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.