You are on page 1of 9

1

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

OPENCV

1. Gii thiu v OpenCV 2. Cch ci t a. Ci t trn VS 2008 b. Ci t trn VS 2010 3. Cc hm x l nh a. Hin th nh b. Lu hnh nh c. Bin i nh d. Lc nh e. Tm bin 4. Cc hm x l Video a. c Video t file b. Ly nh t Camera c. Lu Video

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Gii thiu v OpenCV


OpenCV l g? OpenCV l mt th vin m ngun m phc v cho vic nghin cu hay pht trin v th gic my tnh. Ti u ha v x l cc ng dng trong thi gian thc. Gip cho vic xy dng cc ng dng x l nh, th gic my tnh, ... mt cch nhanh hn. OpenCV c hn 500 hm khc nhau, c chia lm nhiu phn phc v cc cng vic nh: x l hnh nh y t, an ninh, camera quan st, nhn din, robots, ... Ai s s dng OpenCV? u tin chng ta phi hiu: OpenCV l m ngun m v chng ta khng phi tr bt c mt ng no cho n. Tt c chng ta u c th s dng OpenCV ty theo vic chng ta s dng n nh th no vo vic g. S dng OpenCV lm g? X l nh, quan st, an ninh, robots, ... Tt c nhng g m bn ngh rng lin quan n th gic my tnh th bn c th s dng OpenCV lm. Thay v lp trnh cho cc thut ton x l nh th bn c sn trong tay mt th vin v cc hm . Cng vic ca bn ch l s dng n. V bn c th lp trnh cho cc thit b my mc cho n c th nhn,...

Download v ci t OpenCV
Download ti: http://sourceforge.net/projects/opencvlibrary/ Ti liu hng dn: Cc bn nn s dng cun Learning OpenCV (Dr. Gary Rost Bradski & Dr. Adrian Kaehler)
Ghi ch: Cc bn c ly file nh km ca ti liu ny

Ci t:
Ghi ch: Cc bn phi download thm phn mm CMAKE ti a ch: http://cmake.org Ci t chung: B1: Ci t phn mm OpenCV (Cc bn c th s dng phin bn 2.1 hoc 2.2). B2: Ci t cmake v lm theo hng dn B2.1: To mt th mc c tn: Build trong th mc ci t OpenCV. (VD: To th mc Build trong th mc C:/OpenCV2.2) B2.2: Khi ng Cmake v in cc thng s nh hnh bn

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Tip tc nhy vo nt Configure

Chn phin bn Visual Studio ang dng ri click vo Finish

Tip tc nhy vo nt Configure

Click vo Generate ri thot Cmake. B2.3: M th mc OpenCV2.2\Build (hoc OpenCV2.1 nu bn ci OpenCV2.1) M file OpenCV.sln (C:\OpenCV2.2\Build\OpenCV.sln) B2.3: Ti giao din ca Visual Studio chn Release ri Build Solution (Nhn F6 hoc F7)

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Ch n khi build xong th bn thot ra ri to mt Project mi.

Ci t OpenCV trn Visual Studio 2008


Bn thao tc nh sau: Tools Options

Chn VC++ Directories Include files Thm cc th mc sau vo. Vi bn OpenCV2.2 cc bn thm cc th mc sau: (Ty theo bn s dng m bn thm) C:\OpenCV2.2\include C:\OpenCV2.2\include\opencv C:\OpenCV2.2\include\opencv2\imgproc C:\OpenCV2.2\include\opencv2\features2d c:\OpenCV2.2\include\opencv2\objdetect

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Vi bn OpenCV2.1 bn thm cc th mc sau: C:\OpenCV2.1\Build\bin\Release C:\OpenCV2.1\Build\bin C:\OpenCV2.1\include C:\OpenCV2.1\include\opencv Tip tc cc bn chn VC++ Directories Library files Thm cc th mc cha cc th vin vo.

Vi bn OpenCV2.2 bn ch cn thm: C:\OpenCV2.2\lib Vi bn OpenCV2.1 bn thm cc th mc sau: C:\OpenCV2.1\Build\lib\Release C:\OpenCV2.1\Build\lib C:\OpenCV2.1\lib Tip n cc bn chn:

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Chn Configuration Propertise Linker Input

Ti Addtional Dependencies Cc bn thm cc file sau:

C:\OpenCV2.2\lib\opencv_core220.lib C:\OpenCV2.2\lib\opencv_highgui220.lib C:\OpenCV2.2\lib\opencv_ml220.lib C:\OpenCV2.2\lib\opencv_imgproc220.lib C:\OpenCV2.2\lib\opencv_legacy220.lib Sau khi thm xong l cc bn hon thnh vic cu hnh OpenCV trn Visual Studio 2008 .

Ci t OpenCV trn Visual Sutdio 2010


Bn thao tc nh sau: Click chut phi vo tn Project Propertise

Thao tc thm cc th vin nh 2008. Sau khi thm cc th vin ti: Include files v Library files xong chn Configuration Propertise Linker Input

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Ti Addtional Dependencies Cc bn thm cc file sau: C:\OpenCV2.2\lib\opencv_core220.lib C:\OpenCV2.2\lib\opencv_highgui220.lib C:\OpenCV2.2\lib\opencv_legacy220.lib C:\OpenCV2.2\lib\opencv_ml220.lib C:\OpenCV2.2\lib\opencv_imgproc220.lib Sau khi thm xong l cc bn hon thnh vic cu hnh OpenCV trn Visual Studio 2010. Ghi ch: i vi bn OpenCV2.2 hay OpenCV2.1 cc bn lm nh nhau. Tuy nhin khi thm cc file th vin th cc bn hy vo th mc C:\OpenCV2.x\lib\tenfile.lib Trong x l tn phin bn, tenfile l tn ca file. V d: thay tenfile = opencv_core220.lib

Mt s hm x l nh
c v hin th nh (S dng th vin: highgui.h) Trc khi hin th nh ln mn hnh th chng ta phi bit lm nh th no ti mt c t a. Chng ta s s dng hm cvLoadImage(); IplImage* cvLoadImage( const char* filename, int ); filename: Tn ng dn nh iscolor: Ch hin th nh Mt s gi tr ca iscolor: CV_LOAD_IMAGE_GRAYSCALE CV_LOAD_IMAGE_ANYDEPTH CV_LOAD_IMAGE_UNCHANGED Sau khi c c nh t cng chng ta s hin th ln mn hnh bng hm cvShowImage(); ng thi chng ta phi to mt ca s hin th nh (Dng hm cvNamedWindow();) cvNamedWindow(Tn ca s hin th); void cvShowImage( const char* name, iscolor = CV_LOAD_IMAGE_COLOR

const CvArr* image );

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Name: Tn ca s hin th nh Image: Tn nh Chng ta cng lm mt v d c th sau:


#include "highgui.h" int main() { IplImage* img = cvLoadImage(imag); // To bin cha nh cvNamedWindow("ShowIMG",CV_WINDOW_AUTOSIZE); // To mt ca s hin th nh cvShowImage("ShowIMG",img); // hin th nh cvWaitKey(0); // i ngi dng nhp vo mt phm bt k cvReleaseImage(&img); // Gii phng b nh cha nh cvDestroyWindow("ShowIMG"); // ng ca s cha nh }

Lu nh void cvSaveImage( const char* name,

const CvArr* image, const int* params CV_DEFAULT(0) );


#include "highgui.h" int main() { IplImage* img = cvLoadImage(imag); // To bin cha nh cvNamedWindow("ShowIMG",CV_WINDOW_AUTOSIZE); // To mt ca s hin th nh cvShowImage("ShowIMG",img); // hin th nh IplImage* out = cvCreateImage(cvGetSize(img),img->depth,img->nChannels); cvConvertImage(img,out, CV_CVTIMG_FLIP); // Chuyn i nh cvSaveImage("D:/test.bmp",img); // Lu nh vi mt tn khc cvWaitKey(0); // i ngi dng nhp vo mt phm bt k cvReleaseImage(&img); // Gii phng b nh cha nh cvDestroyWindow("ShowIMG"); // ng ca s cha nh }

Bin i nh

Lc nh Tm bin ca nh

Tm hiu v OpenCV Nhm 17 Tun Lc Thnh Ph

Mt s hm x l video
c v hin th Video t mt file c t Camera Lu file Video

You might also like