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

Filteren Connected Components

In een ander artikel hebben we geleerd hoe je aangesloten componenten te extraheren met behulp van OpenCV en hoe een aantal gemeenschappelijke operaties. Nu zal ik het hebben over een andere nuttige en gemeenschappelijke taak: het filteren van aangesloten componenten om alleen te extraheren die slagen voor een bepaalde criteria. En om dingen meer generiek te maken, zullen de criteria worden bepaald door de beller met de functie pointers. Herzien OpenCVOpenCV is een koele computer vision en beeldverwerking bibliotheek die wordt veel gebruikt en biedt vele goede eigenschappen.

We zullen het gebruiken om uit te pakken en te filteren de aangesloten componenten van een beeld. Herzien van Connected extractie Component We kunnen de aangesloten componenten van een beeld met de cvFindContours functie zoals hier beschreven te halen. Het slaat de contouren van de aangesloten componenten in een lijst van de reeksen. Elke sequentie bevat de punten van een veelhoek dat contour benadert en we kunnen deze lijst van sequenties met behulp van de h_next, h_prev, v_next en v_prev pointers navigeren.

CvSeq: Sequenties in OpenCV Het CvSeq type is een sequentie in OpenCV en wordt gebruikt om de contouren van de aangesloten componenten te slaan. Aangezien wij de aangesloten componenten filteren, dus we moeten een manier vinden om een ​​contour uit de lijst te verwijderen. De cvSeqRemove functie verwijdert elementen uit een reeks, maar het hoeft niet een hele reeks van onze contour lijst te verwijderen. Om een ​​reeks uit de lijst die we nodig hebben om te knoeien met de h_next en h_prev pointers verwijderen.

Als we willen dat het eerste element te verwijderen moeten wij enkel de contouren pointer punt te maken om het tweede element. Om een ​​element in het midden van de lijst die we "springen" hem uit de reeks te verwijderen. De procedure is eenvoudig en slim: als we willen verwijderen van de X

element maken we de h_next wijzer van het vorige element wijzen op de ene na de X medailles en de h_prev van het volgende element punt het element voor X

.

Net als dit:

  ptr-> h_prev-> h_next = ptr-> h_next; if (ptr-> h_next = NULL!) ptr-> h_next-> h_prev = ptr-> h_prev; 

Natuurlijk moeten we controleren of X

heeft iemand achter hem aan, zodat we niet lopen in sommige Segmentatie Storingen

het verwijderen van het laatste element. Definiëren van een aangepaste criteria functie met de functie pointers om de filtercriteria ge

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