Professional Documents
Culture Documents
Open CV Guide
Open CV Guide
Lp TH06/2
I HC KHOA HC TP. H CH MINH KHOA CNG NGH THNG TIN B MN KHOA HC MY TNH
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.
Lp TH06/2
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.
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:
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:
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.
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).
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
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:
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.
10
Lp TH06/2
11