*   >> läser Utbildning artiklar >> science >> programming

OpenCV Tutorial

mmer att använda den som en behållare för lastning och lagra en bild. De grundläggande OpenCV funktioner är i cv.h huvudet. Både cvLoadImage och cvSaveImage är från HighGUI, en OpenCV modul som innehåller några användargränssnittet funktioner, tillgång till kameror och vissa filsystem anläggningar. För att använda den måste vi inkludera highgui.h huvudet.

Så låt oss börja vår första OpenCV programmet inklusive rubriker som krävs och startar vår huvudOmdömen funktion:

  #include int main (int argc, char * argv []) {Omdömen 

Sedan deklarerar vi en bild och ladda filen skickas som det första argumentet till vårt program (om du inte vet om kommandoradsargument klicka här). Det andra argumentet i cvLoadImage är en flagga som indikerar om vi vill ha en färgbild. Passning 0 får oss en auto konverterade gråskalebild.


  IplImage * img; img = cvLoadImage (argv [1], 0); Omdömen 

Med detta behöver vi bara att spara bilden med ett annat namn retur:

  cvSaveImage ("result.png", img ); återvända 0;} Omdömen 

Källkoden för det här exemplet är här. Först måste du kompilera det med "gcc` pkg-config --libs --cflags opencv` prog1.c "och kör den med" ./prog1 (image_to_test) ". En result.png bilden kommer att visas i mappen koden med en kopia av bilden skickas som argument. Gaussisk oskärpa filter med OpenCV Nu ska vi tillämpa en Gaussisk oskärpa i bilden.

Filtret gör bilden suddig och används som förbehandling i vissa bildbehandlingsförfaranden. Vi kommer att göra detta filter på plats, betyder häxa att den ursprungliga bilden inte kommer att finnas tillgänglig efter vår utjämning operation. För att göra det gaussisk oskärpa använder vi cvSmooth funktionen med CV_GAUSSIAN flaggan. (Notera att finns andra typer av utjämning och att de kan eller inte kan tillämpas i stället) Denna funktion erhåller 7 värden: ingångsbilden, utgångsbilden, vilken typ av utjämning och 4 parametrar.

I vårt fall, in- och utgående bilden är densamma, är den typ CV_GAUSSIAN och bara tre argument används: de två första är storleken på kärnan att använda och den tredje är standardavvikelsen för Gauss. Om du inte vet vad detta innebär, tänk att param1 och param2 är storleken på fönstret för att sudda och param3 bör alltid vara noll (detta sätt värdet erhålls från kärnstorlek).

Vi kommer att tillämpa en 7x7 gaussisk oskärpa på bilden, så att funktionsanrop är detta:

 cvSmooth (img, img, CV_GAUSSIAN, 7, 7, 0, 0), 

Infoga raden ovanför före

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.