Professional Documents
Culture Documents
-----O0O------
BO CO
THC HNH X L NH S
Gio vin hng dn : Ts. Hunh Hu Hng Sinh vin thc hin Lp : V T Hi : 10T1LT.H2
Mc Lc
I. HNG DN CI T OPENCV. ........................................................................ 3 1. Gii thiu chung v th vin OpenCV. .................................................................... 3 2. Hng dn ci t OpenCV 2.1 vi Visual Studio 2008.......................................... 3 3. Cu hnh Visual Studio 2008 lin kt vi OpenCV.................................................. 8 4. To mt project s dng OpenCV. ......................................................................... 10 II. S DNG MT S HM C BN CA OPENCV. ......................................... 12 1. Ti nh, hin th li. ................................................................................................ 12 2. Chuyn nh sang nh Gray, hin th. ...................................................................... 12 3. Chuyn nh Gray sang nh nh phn, hin th. ...................................................... 13 4. Tch cc knh mu cvSplitPan, hin th. ................................................................ 14 5. Pht hin bin bng cc phng php hc, hin th. .......................................... 15 6. Lc nh(blur,gauss,median), hin th. ..................................................................... 16 7. n mn, lm dy, hin th. ...................................................................................... 17 8. Ct ngng, hin th. ............................................................................................... 18 9. Tm hiu hm pht hin khun mt trong OpenCV............................................... 19
Trang: 2
I. HNG DN CI T OPENCV.
1. Gii thiu chung v th vin OpenCV. OpenCV (Intel Open Source Computer Vision Library) l mt th vin m ngun m ca Intel vit cho x l nh. OpenCV gm cc hm c xy dng cho vic x l th gic my thi gian thc (real time computer vision). Cc thut ton x l nh thng thng ln cao cp u c ti u ha bi cc nh pht trin th vin thnh cc hm n gin v cho ngi dng d dng s dng. OpenCV h tr hai ngn ng chnh C/C++ v python. 2. Hng dn ci t OpenCV 2.1 vi Visual Studio 2008. Download min ph phn mm OpenCV trn Internet. Double click vo biu tng setup OpenCV 2.1. Ca s setup s hin th ln nh sau:
Hnh 1.
Trang: 3
Hnh 2. c cc iu khon, ng click vo I Agree, Cancel nu khng ng v hy b ci t. Chn Iagree, ca s tip theo s hin th.
Hnh 3.
SVTH: V T Hi. Lp: 10T1LT.H2 Trang: 4
y chn Add OpenCV to the system PATH for all users v tip tc click vo Next.
Hnh 4. Chn ng dn ci t cho chng trnh, mc nh s l C:\OpenCV2.1. Nhn Next tip tc.
Trang: 5
Hnh 6. y chn full chng trnh ci t ton b th vin. Sau click vo Install tin hnh ci t.
SVTH: V T Hi. Lp: 10T1LT.H2 Trang: 6
Trang: 7
3. Cu hnh Visual Studio 2008 lin kt vi OpenCV. M Visual Studio 2008 ln. Click vo menu Tool, chn Option, chn Projects and Solution.
Hnh 9. Tip theo cng ti Show directories for chn: Library files.
SVTH: V T Hi. Lp: 10T1LT.H2 Trang: 8
Hnh 11.
Trang: 9
4. To mt project s dng OpenCV. Chn New Project, y ta chn Visual C++, Win32, Win32 Console Application.
Hnh 12. Nhn chut phi vo project chn Properties/Configuration Properties/Linker/ Input. Chn Configuration l Debug. Ti Additional Dependencies nh vo: cv210d.lib cvaux210d.lib cxcore210d.lib cxts210d.lib cvhaartraining.lib highgui210d.lib ml210d.lib opencv_ffmpeg210d.lib.
Trang: 10
Hnh 13.
Trang: 11
Trang: 12
Hnh 16.
Trang: 13
Hnh 17.
Trang: 14
Hnh 18.
Hnh 19. 5. Pht hin bin bng cc phng php hc, hin th.
IplImage* out = cvCreateImage( cvSize(im_gray->width/2,im_gray->height/2), im_gray->depth, im_gray->nChannels); // Reduce the image by 2 cvPyrDown( im_gray, out ); // Perform canny edge detection cvCanny( out, out, 10, 100, 3 ); // Hien thi anh cvShowImage("Lay Bien", out);
Hnh 21.
Trang: 16
Hnh 22.
Hnh 24.
Trang: 18
// Add equally weighted rgb values cvAddWeighted( r, 1./3., g, 1./3., 0.0, s ); cvAddWeighted( s, 2./3., b, 1./3., 0.0, s ); // Truncate values over 100 cvThreshold( s, CatNguong, 100, 100, CV_THRESH_TRUNC ); //Hien thi cvShowImage("Cat nguong",CatNguong);
A. Pht hin khun mt trong hnh nh. Trong OpenCV c sn file haarcascade_frontalface_alt.xml, chng ta ch vic ly n ra v s dng. Khi ly file ny ra th chng ta phi ch ng dn cho tht chnh xc. V d: ti ci OpenCV 2.1 trn C nn ng dn file haarcascade_frontalface_alt.xml s l:
"C:/OpenCV2.1/data/haarcascades/haarcascade_frontalface_alt.xml.
Trang: 19
Trang: 20
Hnh 27. B. Pht hin khun mt trong Webcam. Sau y l code chng trnh:
#include "stdafx.h" #include "cv.h" #include "highgui.h" #include <iostream> #include <cstdio> using namespace std; using namespace cv; int main(int argc, char *argv[]) { int c; IplImage* image; //Mo WebCam CvCapture* capture = cvCaptureFromCAM(0); cvNamedWindow("NHAN DIEN KHUON MAT",0); for(;;) { image = cvQueryFrame(capture); CvHaarClassifierCascade* cascade; CvMemStorage* storage; CvSeq* faces; storage=cvCreateMemStorage(0); //Load du lieu tu file XML cascade = (CvHaarClassifierCascade*)cvLoad("C:/OpenCV2.1/data/haarcascades/haarcascade_fr ontalface_alt.xml",NULL, NULL, NULL);
Trang: 21
faces = cvHaarDetectObjects( image, cascade, storage, 1.2, 2,0,cvSize(0,0)); for(int i=0;i<(faces ? faces->total:0); i++ ) { CvRect* r = (CvRect*)cvGetSeqElem(faces, i ); CvPoint pt1 = { r->x, r->y }; CvPoint pt2 = { r->x + r->width, r->y + r->height }; cvRectangle( image, pt1, pt2, CV_RGB(255,0,0), 3, 8, 0 ); } //Hien thi cua so nhan dang khuon mat if(image != 0) cvShowImage("NHAN DIEN KHUON MAT", image); c = cvWaitKey(10); if(c == 27) break; } cvWaitKey(0); cvDestroyAllWindows(); return 0; }
Hnh 28.
Trang: 22