You are on page 1of 11

Truy vn thng tin th gic

Lp TH06/2

I HC KHOA HC TP. H CH MINH KHOA CNG NGH THNG TIN B MN KHOA HC MY TNH

-- -HNG DN S DNG TH VIN OPENCV


Bin son: Nguyn Trng Vit Email: ntviet@fit.hcmus.edu.vn

A. Gii thiu
lp trnh s dng th vin x l nh OpenCV, cc bn nn ci t th vin ny trc khi tin hnh thit lp cc property cn thit cho project. Ti c gi km gi ci t th vin OpenCV trong course hng dn ny.

Mn hnh ci t OpenCv

Ngoi ra cn c 2 ng dng nh demo vic load nh JPEG ln mn hnh Consolde v ln Dialog s dng MFC kt hp th vin lin kt ng ca OpenCV. Hai ng dng ln lt c tn l: Demo2 v Demo3. tng tnh c lp cho chng trnh, trong bi ny, ti s hng dn cc bn cch thit lp cc module cn thit c th lp trnh trn my khng ci sn OpenCV.

Truy vn thng tin th gic

Lp TH06/2

B. Cc bc thit lp s dng OpenCV vi Visual C++:


Ti ly project Demo2 v Demo3 gi km lm v d. Trong project ca mnh cc bn cng thit lp tng t. 1. Sao chp cc module th vin cn thit Cc bn vo th mc ci t OpenCV v sao chp cc th mc: cv, cvaux, cxcore, otherlibs, lib vo th mc cha source chng trnh ca mnh. Trong , cc th muc cv, cvaux, cxcore, otherlibs cha cc file .h v .cpp quan trng ca th vin, th mc lib cha cc th vin .lib cn thit khc.

Ring th mc bin cha cc dll cn thit khc bao gm: cv100.dll, cvaux100.dll, cxcore100.dll, highgui100.dll, libguide40.dll. Bn s chp cc dll ny vo cng v tr vi tp tin thc thi .exe ca mnh.

Truy vn thng tin th gic

Lp TH06/2

2. Vo ProjectDemo1 Properties

3. Dialog Property Pages ca project hin ln, cc bn ln n Configuration Properties C/C++ General nh hnh sau:

Truy vn thng tin th gic

Lp TH06/2

Trong mc Additional Include Directories, cc bn a vo ng dn n th mc cha cc file .h ca th vin OpenCV. Trong trng hp ca Demo2 v Demo3, do ti t th mc OpenCV trong cng th mc Project chng trnh, nn ch cn a vo tn ca cc th mc: cv/Include, cvaux/Include, cxcore/Include, otherlibs/highgui. Ch du ; gia cc tn th mc khi nhp vo. 4. Tip tc ln n Configuration Properties C/C++ Linker General nh hnh sau:

Truy vn thng tin th gic

Lp TH06/2

Trong mc Additional Library Directories: cc bn a vo ng dn n th mc c cha file .lib ca th vin. Vi OpenCV th cc file .lib ny c t trong th mc lib nn cc bn nhp vo lib. 5. Ln n Configuration Properties C/C++ Linker Input nh hnh sau:

Trong mc Additional Dependencies: cc bn nhp vo tn file .lib cn thit gm: cv.lib, cvaux.lib, highgui.lib, cxcore.lib 6. Cui cng, cc bn ln n Configuration Properties General. Kim tra xem mc Character Set v t v No set.

Truy vn thng tin th gic

Lp TH06/2

7. Thit lp xong, click OK ri thc hin bin dch li project c hiu lc cho project. Sau , chp file cv100.dll, cvaux100.dll, cxcore100.dll, highgui100.dll, libguide40.dll vo cng v tr vi tp tin thc thi .exe ca project.

C. Lp trnh vi OpenCV
Sau khi thit lp y nh trn, project ca cc bn sn sng cho vic lp trnh s dng th vin OpenCV. 1. Trc ht l phn lp trnh vi OpenCV trong Console, cn include cc th vin cn thit ca OpenCV vo chng trnh (tham kho demo2).

Truy vn thng tin th gic Thc hin ci t nh hnh sau.

Lp TH06/2

Trong : IplImage cvLoadImage cvNamedWindow cvShowImage cvWaitKey cvReleaseImage : L cu trc lu tr thng tin nh (gm chiu rng, chiu cao, s knh mu, d liu nh gii nn, ) : L hm load v gii nn nh t file, thng tin v nh v kt qu gii nn c t vo bin con tr kiu cu trc IplImage : L hm to ca s ca OpenCV, dng tn lm nh danh cho tng ca s, trong trng hp ny tn ca s l My Window : L hm dng gn nh gii nn vo ca s c xc nh bng tn nh danh : L hm ch nhn mt phm bt k t bn phm tip tc cc on chng trnh sau . : L hm hy d liu nh

cvDestroyWindow : L hm hy ca s thng qua tn nh danh ca ca s

Bin dch v thc thi, nhn c kt qu nh sau:

Truy vn thng tin th gic

Lp TH06/2

2. Lp trnh vi OpenCV kt hp MFC (tham kho Demo3) Include cc tp tin cn thit ca OpenCV nh i vi ng dng trn console. Khai bo bin con tr IplImage, v khi to gi tr NULL trong Constructor ca lp giao din.

Truy vn thng tin th gic Thc hin load v gii nn d liu nh t file:

Lp TH06/2

hin th ra mn hnh giao din ti v tr mong mun, cc bn b sung mt s lnh chng trnh trong hm OnPaint nh sau:

Trong CvvImage l lp c sn ca OpenCV phc v vic v nh ln mt khung hnh ch nht cho trc. Hm CvvImage::CopyOf thc hin vic sao chp d liu nh mun v, hm CvvImage::DrawToHDC thc hin v nh copy ti mt khung ch nht RECT cho trc. Bin dch, chay. load nh click vo button Show, c kt qu nh hinh sau:

Truy vn thng tin th gic

Lp TH06/2

Cc bn cn tham kho cc field quan trng ca cu trc IplImage v cc hm quan trng khc trong phn hng dn km theo ca gi ci t OpenCV.

Cc bn tham kho chi tit cc hm v cu trc quan trng ti cc link sau:

10

Truy vn thng tin th gic

Lp TH06/2

Chc thnh cng

11

You might also like