*   >> lukeminen koulutus Artikkelit >> science >> programming

Suodatus Connected Components

on: int kriteerit (CvSeq * ympärys),

Coding esimerkki: suodatus ja talteen liitettyjen laitteiden

Nyt koodaa toiminto, joka tekee työtä . Laitan funktion alla oleva koodi täällä, täydellinen työ koodi on saatavilla lopussa artikkelin.

  CvSeq * extract_and_filter_CC (IplImage * img, int (* kriteerit ) (CvSeq *)) {


CvSeq * ääriviivat, * ptr; CvMemStorage * mem = cvCreateMemStorage

(0);

cvFindContours (img, MEM, ja ääriviivat, sizeof (CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint (0,0)); PTR = ääriviivat; kun taas (PTR! = NULL) {jos (perusteet (PTR) == 0) {jos (PTR == ääriviivat) {ääriviivat = ptr-> h_next; PTR = ääriviivat; ptr-> h_prev = NULL; } Else {ptr-> h_prev-> h_next = ptr-> h_next; jos (ptr-> h_next! = NULL) ptr-> h_next-> h_prev = ptr-> h_prev; PTR = ptr-> h_next; }} Else {PTR = ptr-> h_next;

}} palata ääriviivat; }

esimerkki käytöstä Tässä esimerkissä näytän yksinkertainen toiminto, joka suodattaa komponentteja perustuu niiden suhde , saada vain liitetty osia, jotka ovat lähes neliö.


  int neliö (CvSeq * ympärys) {CvRect laatikko = cvBoundingBox (ääriviivat); jos (laatikko-> w /laatikko-> HW /laatikko-> h> 0,4) tuotto 1; return 0;} 


Vaadimme extract_and_filter_CC toiminto näin: filtered_cc = extract_and_filter_CC (img, neliö);

Päätelmä Tässä artikkelissa kuvataan toinen soveltaminen liitettyjen laitteiden: suodattaa kuvan osat, jotka eivät sovi tietyt kriteerit. Se käyttää myös funktio-osoittimia tehdä suodatuksen yleinen kuin mahdollista.

Tämä tekniikka on hyvin tehokas ja sitä voidaan käyttää yhdessä muiden tekniikoiden poistaa kohinaa kuvan tai purkaa erityisen kuvan osat. Täydellinen Working koodia kommentteja löytyy täältä.

Page   <<  [1] [2] 
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.