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

Filtrering Connected Components

er vi det fra vores liste over konturer. I sidste ende kun de accepterede konturer vil forblive, og vi returnere det. Du kan få flere oplysninger om funktionspointere her. Prototypen af ​​kriterierne funktionen vil være: int kriterier (CvSeq * kontur),

Kodning eksemplet: filtrering og udtrække de tilsluttede komponenter

Nu vil vi kode den funktion, der vil gøre arbejdet . Jeg vil sende funktionens koden nedenfor her, den fuldstændige arbejdsmiljø koden er tilgængelig i slutningen af ​​artiklen.


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


CvSeq * konturer, * ptr; CvMemStorage * mem = cvCreateMemStorage

(0);

cvFindContours (img, mem, & konturer, sizeof (CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint (0,0)); PTR = konturer; mens (ptr = NULL!) {if (kriterier (PTR) == 0) {if (PTR == konturer) {konturer = ptr-> h_next; PTR = konturer; ptr-> h_prev = NULL; } Else {ptr-> h_prev-> h_next = ptr-> h_next; hvis (ptr-> h_next = NULL!) ptr-> h_next-> h_prev = ptr-> h_prev; PTR = ptr-> h_next; }} Else {PTR = ptr-> h_next;

}} returnere konturer }

Et eksempel på brug I dette eksempel vil jeg vise en simpel funktion, der filtrerer komponenter baseret på deres forhold kun få tilsluttet komponenter, der er næsten kvadratisk.


  int firkant (CvSeq * kontur) {CvRect boks = cvBoundingBox (kontur); hvis (box-> m /box-> hw /box-> h> 0,4) tilbagevenden 1; returnere 0;} 


Vi kalder extract_and_filter_CC funktionen som dette: filtered_cc = extract_and_filter_CC (IMG, firkant);

Konklusion Denne artikel beskriver en anden anvendelse af tilsluttede komponenter: at filtrere dele af billedet, som ikke passer ind i en række kriterier. Det bruger også funktionspointere at gøre filtreringen som generiske som muligt.

Denne teknik er meget kraftfuld og kan bruges i forbindelse med andre teknikker til at fjerne støj et billede eller til at udtrække especial dele af billedet. Den komplette arbejdsmiljø kode med kommentarer er tilgængelig her.

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