You are on page 1of 16

Chng 5 X l nh s v OpenCv

Chng 5 X L NH V OPENCV
5.1 C BN V X L NH S : 5.1.1 Gii thiu v h thng x l nh : X l nh l mt lnh vc mang tnh khoa hc v cng ngh. N l mt ngnh khoa hc mi m so vi cc ngnh khoa hc khc nhng tc pht trin ca n rt nhanh, kch thch cc trung tm nghin cu ng dng, c bit l my tnh chuyn dng cho n. Xt cc bc trong h thng x l nh s. u tin nh t th gii bn ngoi c thu nhn qua cc thit b thu nh nh camera, my chp nh. Trc y nh thu c qua camera l nh tng t nhng gn y vi s pht trin ca cng ngh, nh mu hay nh en trng ly c t camera sau c chuyn trc tip thnh nh s to thun li cho x l tip theo. Mt khc nh c th thu c t v tinh hoc my qut nh. Hnh di y m t cc bc quan trng trong x l nh :

Hnh 5.1 Cc bc c bn trong x l nh S ny bao gm cc phn sau : a) Phn thu nhn nh ( Image Acquisition) nh c th c nhn qua camera mu hay en trng. Thng nh nhn c qua camera l nh tng t ( loi camera ng chun CCIR vi tn s 1/25, mi nh 25 dng) hay camera s ha ( nh lai CCD, Change Couple Device) l loi photodiode to cng sng ti mi im nh. Camera thng l loi qut dng; nh to ra l nh hai chiu. Cht lng ca nh ph thuc vo cht lng thit b thu v mi trng. b) Tin x l (Image Pre-processing) Sau b thu nhn nh c th b nhiu hoc c tng phn thp nn cn a vo b tin x l nng cao cht lng. Chc nng ca b tin x l l lc nhiu, nng cao tng phn, c) Phn on (Segmentation) hay phn vng nh Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh Trang 1

Phn vng nh l tch mt nh u vo thnh cc vng thnh phn biu din phn tch, nhn dng nh, v d nh khoanh vng khun mt nhn dng, khoanh vng m vch c code. y l phn phc tp v kh khn nht trong x l nh v cng d gy li lm mt chnh xc ca nh. d) Biu din nh : u ra nh sau khi phn on cha cc im nh ( nh phn on ) cng vi m lin kt cc vng ln cn. Vic bin i cc s liu ny thnh dng thch hp l cn thit cho cc x l tip theo bng my tnh. Vic chn cc tnh cht th hin nh gi l trch chn c trng (Feature Selection) gn vi vic tch c tnh ca nh di dng cc thng tin nh lng hoc lm c s phn bit lp i tng ny vi lp i tng khc trong phm vi nnh nhn c. V d trong nhn dng ch vit trn b th, ta phn bit c trng ca k t ny so vi k t khc. e) Nhn dng v gii thch nh ( Image Recognition and Interpretation) Nhn dng nh l qu trnh xc nh nh. Qu trnh c thc hin nh so snh vi mu chun c hc hoc lu t trc. Gii thch l phn on theo ngha trn c s nhn dng. V d mt lot ch s v nt gch ngang trn b th c th phn on l m in thoi. Theo l thuyt v nhn dng, cc m hnh ton hc v nh c phn loi theo hai loi nhn dng nh c bn: Nhn dng theo tham s Nhn dng theo cu trc Mt s i tng nhn dng nh kh ph bin hin nay l nhn dng k t ( ch in, ch vit tay, ch k in t), nhn dng vn tay, nhn dng m vch, nhn dng mt ngi. f) C s tri thc Nh ni trn, nh l mt i tng kh phc tp v ng nt, sng ti, dung lng im nh, mi trng thu nh phong ph ko theo nhiu. Trong nhiu khu x l v phn tch nh, ngai vic n gin ha cc phng php ton hc m bo cho vic x l, ngi ta mong mun bt chc quy trnh tip nhn v x l nh theo cch ca con ngi. V vy y cc c s tri thc c pht huy. 5.1.2 Cc khi nim c bn Phn t nh: nh trong thc t l mt nh lin tc v khng gian v gi tr sng. c th x l bng my tnh cn thit phi a v dng nh s. Trong qu trnh s ha, ngi ta bin i tn hiu lin tc sang tn hiu ri rc thng qua qu trnh ly mu ( ri rc ha khng gian) v lng t ha thnh phn gi tr ( ri rc ha bin gi tr) m v nguyn tc mt thng khng phn bit c hai im k nhau. Trong qu trnh ny ngi ta s dng mt khi nim l Picture Element m ta quen gi l pixel. Pixel l mt im trn d liu nh, cc pixel c sp xp thnh mt mng 2 chiu v c biu din bng cc chm hay vung. Mi pixel l mt kt qu ly mu ca nh

Chng 5 X l nh s v OpenCv gc, v cng nhiu mu th vic biu din nh cng chnh xc hn. Gi tr ca ca mi pixel bao gm ta v gi tr mu sc ty vo nh nh phn, nh xm hay nh mu.

Hnh 5.2 Biu din nh bng pixel trong nh n sc, na bn tri l d liu nh, na bn phi l phn nh hin th, mi pixel biu din bng 1 bit phn gii nh : phn gii nh ( resolution) l mt im nh n nh trn mt nh s c hin th. Theo nh ngha, khong cch gia cc im nh phi c chn sao cho mt ngi vn thy c s lin tc ca nh. V d phn gii nh trn mn hnh CGA ( Color Graphic Adapter) l mt li im theo chiu ngang mn hnh: 320 im chiu dc * 200 im nh (320x200) . R rng cng mt phn gii th mn hnh 12 ta nhn thy mn hn mn hnh 17. L do l cng mt mt ( phn gii ) th din tch mn hnh rng hn th mn ( lin tc cc im km hn). nh xm v nh mu : Mc xm ca nh s hay nh xm l trong gi tr ca mi pixel l mt gi tr n, ch mang mt thng tin v cng . nh xm cn c gi l nh trng en vi gi tr bin thin t en vi cng yu nht n trng vi cng cao nht. nh xm khc vi nh trng en mt bit vi ch hai gi tr trng v en, trong khi nh xm c cc gi tr trung gian gia trng v en. nh xm thu c t vic o cng nh sng mi pixel ti mt tn s nht nh trong dy quang ph nh sng, do n c gi l nh n sc.. nh xm c m ha bi n bit s c l 2n mc, i t en (mc 0) ti trng (mc 2n 1). Cc mc t 1 n 2n 2 biu din cc sc xm khc nhau.

Hnh 5.3 Thang mu xm nh mu l nh m mi pixel cha 3 knh mu: (Red), Lc (Green) v Lam (Blue) (hay cn gi l h mu RGB). Cng nh nh xm, mi knh mu trong nh mu c th Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh Trang 3

c m ho n bit cho mi knh. Nh vy 1 pixel s c m ho bi 3*n bit. Do dung lng nh mu s ln hn 3 ln so vi nh xm c cng mc m ho.

Hnh 5.4 V d v vic chia nh mu RBG thnh cc knh mu v nh xm tng ng ca mi knh mu. Mu dng v mu m : Mu dng l nhng hnh nh cha i tng cn c xc nh. Mu m l nhng hnh nh khng cha i tng cn c xc nh.

Hnh 5.5 Mt s mu dng dng trong vic pht hin khun mt

Chng 5 X l nh s v OpenCv

Hnh 5.6 Mt s mu m dng trong vic pht hin khun mt Histogram v cn bng histogram : Histogram l mt xp x ri rc ca hm phn phi xc sut bin ngu nhin. Trong nh xm, histogram l s tnh ton s pixel c cng mt gi tr trn gray-scale, tc l tm ra s phn b mc xm trong nh. Qu trnh tnh ton nh sau:

Obj293

i vi mt nh B bit, khi ng counter vi gi tr 0 Qut qua tt c ccpixel (x,y) Khi f(x,y) = I, tng gi tr cho counter th i Vic cn bng histogram l tng tng phn ca nh s, thng nm khu tin x l, gip cho cc thut ton c th d dng nhn din cc c tnh c trong nh nh nhn dng khun mt, pht hin bin, Vic ny rt hu ch khi m phn i tng ( foreground) v phn nn ( background) cng sng hoc cng ti. Tuy nhin vic cn bng histogram c th gy nn nhng hiu ng khng mong mun, i khi n c th tng phn gii phn tn hiu nhiu v lm gim phn i tng trong nh. Phng php cn bng histogram c a ra mt khi nim hm phn phi tch ly ( cumulative distribution function) , gi tr hm ny ti mi ny ti mi gi tr mc xm bng tng cc pixel c mc xm nh hn hoc bng gi tr . l sau khi cn bng th phn phi tch ly c dng tuyn tnh.

Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh

Trang 5

Hnh 5.7 nh trc v sau khi cn bng histogram. ng thng trong th histogram l hm tch ly. 5.2 NHN DNG KHUN MT VI THUT TON ADABOOST Gii thiu Mc tiu ca qu trnh nhn dng l phn loi phn loi nh nhn c da trn gi tr ca cc thuc tnh n gin. C nhiu l do a n vic dng cc thuc tnh thay cho phn tch trn cc pixel, l do chnh l cc thuc tnh c th c dng m ha thnh dng kin thc hc m nu thc hin da trn pixel s chm hn rt nhiu. Paul Viola v Michael Johns trnh by mt phng php pht hin khun mt bng cch p dng chui phn loi vi thut ton Adaboost trong bi bo "Rapid Object Detection using a Boosted Cascade of Simple Features " [4].

Chng 5 X l nh s v OpenCv

Hnh 5.8 Dng thuc tnh Haar-like c dng trong qu trnh pht hin khun mt : thuc tnh 2 hnh ch nht hnh A v B c tc dng vi cnh, 3 hnh ch nht hnh C c tc dng vi ng v 4 hnh ch nht hnh C c tc dng vi ng cho Cc thuc tnh n gin c s dng gi nh n cc hm c bn ca Haar. Chi tit hn chng ta s dng 3 dng thuc tnh nh trn hnh 5.8 . Gi tr ca thuc tnh 2 hnh ch nht l hiu ca tng cc pixel trong phn xm v cc pixel trong phn trng. Hai hnh ch nht ny c th nm theo chiu dc hoc ngang nhng vi cng kch thc. Thuc tnh 3 hnh ch nht tnh tng 2 phn ngoi ri tr cho tng phn trong. Cui cng, thuc tnh 4 hnh ch nht tnh hiu ca tng 2 cp hnh ch nht theo ng cho. Gi s rng phn gii c bn ca b pht hin l 24x24, mt b thuc tnh y th kh ln, trn 180000 thuc tnh. Khc vi c s Haar, mt tp cc thuc tnh nh vy l qu y v l do: mt tp c s khng c s ph thuc tuyn tnh gia cc phn t nh hnh nh cn x l s c s phn t tng ng vi s pixel l 576, qu nh so vi tp cc thuc tnh ! 5.2.1 nh tch phn ( Integral Image): Cc thuc tnh hnh ch nht c th c tnh tan rt nhanh s dng cch biu din trung gian gi l nh tch phn cho i tng nh. nh tch phn ti v tr (x,y) cha ng tng cc pixel trn v bn tri ca (x,y) c th l:

Obj294

Vi ii(x,y) l nh tch phn v i(x,y) l nh gc. S dng cng thc lp sau :

Obj295

Vi s(x,y) l tng tch ly hng, s(x,-1) = 0, v ii(-1,y) = 0, nh tch phn c th c tnh khi qut qua nh gc ch mt ln.

Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh

Trang 7

Hnh 5.9 Thut ton tnh nh tch phn: sau khi tnh ton pixel ti v tr 1 bng tng cc pixel trn v bn tri trong nh gc tc A, gi tr ti v tr 2 l A+B, v tr 3 l A+C, v tr 4 l A+B+C+D. Tng cc pixel trong D l : ( 4+1)-(2+3) Vi nh tch phn th tng ca hnh ch nht bt k u c th tnh da vo gi tr 4 nh. Hiu gia cc tng hnh ch nht c th c tnh da trn 6 gi tr nh trong trng hp thuc tnh 2 hnh ch nht k, 8 cho trng hp 3 hnh ch nht v 9 cho trng hp 4 hnh ch nht. Cc thuc tnh hnh ch nht th cn s khai nu so vi cc phng php khc, khi m vic pht hin bin v cc thuc tnh c bn ca nh s cn hn ch. Tuy nhin, tp hp cc thuc tnh hnh ch nht cung cp mt tp d liu di do cho vic hc hiu qu. Khi kt hp vi nh tch phn, hiu qu ca tp cc thuc tnh hnh ch nht s b li phn no mt hn ch ca n. 5.2.2 Cc hm hc phn loi Vi mt tp thuc tnh v mt tp hun luyn cc nh dng v nh m th bt c phng php hc my no cng c th dng phn lai. Trong h thng ny, mt bin th ca AdaBoost c dng chn mt tp nh cc thuc tnh cng nh hun luyn b phn loi. Trong dng nguyn thy, thut ton AdaBoost dng tng tc qu trnh phn loi trn mt thut ton hc n gin (nhiu khi cn yu). Nh phn trn ni, chng ta c 18000 thuc tnh cho mt khung hnh cn nhn dng, ln hn nhiu s pixel. Mc d mi thuc tnh c tnh rt nhanh, tnh tan ht tp thuc tnh cng l mt vn . Gi thuyt t ra l: ch mt s lng rt nh cc thuc tnh c a vo b phn loi, vic cn lm l tm ra cc thuc tnh ny.

Obj299 Obj298 Obj297 Obj296

h tr vic ny, mt thut ton hc n gin c thit k la chn 1 thuc tnh hnh ch nht phn lai tt nht nh dng v nh m. Vi mi thuc tnh, thut tan ny tm ra hm phn lai ngng ti u nht. Mt b phn lai bao gm mt thuc tnh , mt ngng v mt phn cc ch ra hng ca du bt ng thc :

Obj302 Obj301 Obj300

y x l khung nh ph 24x24 ca mt nh. Di y l qu trnh c th ca thut ton

Chng 5 X l nh s v OpenCv AdadBoost cho vic hc phn loi, mi vng boosting la chn mt thuc tnh t 18000 thuc tnh:

Obj304 Obj303

Cho mt tp vo ra vi cho ng ra nh m hay nh dng

Obj306 Obj305

Khi to cc trng s : vi v m,l l s mu m v dng.

Obj307

Cho

1.

Obj309 Obj308

Chun ha cc trng s: do l phn b xc sut

Obj312 Obj311 Obj310

2. i vi tng thuc tnh j, hun luyn b phn loi gii hn theo mt thuc tnh. Sai s c tnh ng vi trng s :

3.

Obj313

Chn b phn lai vi sai s t nht.

Obj318 Obj317 Obj316 Obj315 Obj314

4.

Cp nht trng s:

trong nu c phn loi ng, nu ngc li v

Obj321 Obj320 Obj319

B phn lai cui cng l : vi

Trn thc t, khng mt thuc tnh n l no c phn lai vi sai s thp. Thuc tnh c la chn trong nhng vng u thut tan cho sai s trong khang 0.1-0.3. Thuc tnh c chn trong nhng vng sau, khi cng vic tr nn kh hn, cho sai s trong khong 0.40.5 . i vi mc ch nhn dng khun mt ngi, nhng thuc tnh hnh ch nht u tin c thut ton AdaBoost chn phi tht r rng v d nhn thy. Thuc tnh u tin c chn phn nh tnh cht vng mt thng ti hn vng mi v vng m. Kch thc nhn Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh Trang 9

bit thuc tnh ny tng i ln so vi khung nh ph v khng nn ph thuc vo kch thc v v tr ca khun mt. Thuc tnh th hai da trn tnh cht vng mt thng ti hn vng sng mi.

Hnh 5.10 Hai thuc tnh u tin c la chn trong thut ton AdaBoost 5.2.3 Chui phn loi tp trung (Attentional Cascade) Phn ny m t thut ton xy dng mt chui cc b phn loi nhm tng hiu qu pht hin ng thi gim trit thi gian tnh ton. Cha kha ca vn l mt b phn loi kch thc nh nhng hiu qu c th c xy dng qua vic loi b cc khung hnh ph m (negative sub-window) trong khi tm kim trong tt c cc trng hp dng ( chng hn iu chnh ngng ca b phn loi cc trng hp b pht hin nhm l m gim v khng). Cc b phn loi n gin th c s dng trc tin loi b phn ln cc khung hnh ph trc khi cc b phn lai phc tp c gi. Ton b qu trnh pht hin c th c m t bng mt cy quyt nh suy gim dn m ta gi l chui phn loi (cascade). Mt kt qu dng ca b phn loi trc s kch hat vic nh gi ca b phn loi sau, v kt qu dng ca b phn loi ny li kch hot b phn loi sau na,Bt c kt qu m ca tng phn loi no cng s loi b khung hnh ph . V d nh tng u tin t hiu qu cao c xy dng t b phn loi hai thuc tnh mnh bng cch gim ngng hn ch mu b nhm l m. Vic tnh ton ca tng ny s tn mt 60 lnh vi x l, do kh c th tm ra mt b lc n gin no cho hiu sut hn.

Chng 5 X l nh s v OpenCv Hnh 5.11 S ca chui pht hin (Detection Cascade) Cu trc ca chui pht hin phn nh mt iu l trong mt nh n bt k, mt lng ln cc khung hnh ph s l m. Do , chui pht hin c gng lai b cng nhiu khung hnh m nhng tng u tin cng tt. Do c hnh dng cy quyt nh, cc b phn loi sau s c hun luyn trn cc mu c thng qua tt c cc tng trc. Kt qu l, cng vic ca tng sau s kh hn tng trc. Do cc mu c a n cc tng sau thng kh nhn dng hn cc mu n hnh nn cc tng ny t l nhn dng nhm l sai cao hn. 5.2.4 Hun luyn mt chui pht hin Qu trnh hun luyn chui pht hin lin quan n vic dung ha hai vn . Chui pht hin vi nhiu thuc tnh hn s nhn dng chnh xc hn v t l nhn nhm l m s thp hn. Tuy nhin, chui pht hin vi nhiu thuc tnh i hi thi gian tnh ton nhiu hn. V nguyn tc, ta c th nh ngha mt cu trc ti u m trong : s tng, s thuc tnh mi tng v ngng ca mi tng phi c dung ha ti thiu ha s thuc tnh. Vic tm ra cu trc ti u ny rt l kh khn. Trn thc t, mt cu trc rt n gin to ra mt b phn loi hiu sut cao. Mc tiu c chn l gim ti thiu vic phn loi nhm l dng v ti a hiu sut pht hin ng. Mi tng c thm cc thuc tnh cho n khi t l phn loi nhm l dng v t l tm kim ng t c v c kim tra li bng mt tp mu kim chng. Cc tng c thm vo chui phn loi cho n khi t yu cu v t l pht hin nhm l dng v pht hin ng.

Hnh 5.12 Mt phn tp mu cc khun mt nhn thng dng trong hun luyn. Trang 11

Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh

5.3 TH VIN X L NH OPENCV CA INTEL : 5.3.1 Gii thiu : OpenCV l th vin m dng cho x l nh trn my tnh (computer vision) c sn trn trang http://SourceForge.net/projects/OpenCVlibrary. OpenCV c thit k lm cho vic tnh ton tr nn thun tin hn vi cc ng dng thi gian thc. Mt trong nhng mc tiu ca OpenCV l cung cp mt cu trc th gic my tnh d s dng cho ngi dng c th xy dng cc ng dng x l nh tng i phc tp mt cch nhanh chng. Th vin OpenCV cha hn 500 hm c th ng dng trong nhiu lnh vc nh gim st nh my, phn tch nh y khoa, an ninh v robotic. Do th gic my tnh v vic hc my ( machine learning) thng i i vi nhau nn OpenCV cng km theo th vin hc my y Machine Learning Library (MLL). Th vin ph ny vo vic nhn dng ( recognition ) v vic xp nhm ( clustering). 5.3.2 Cc thnh phn chc nng ca OpenCv:

CXCORE : cha cc nh ngha v cc kiu d liu c s. V d cc cu trc d liu cho nh, im v hnh ch nht c nh ngha trong cxtypes.h. CXCORE cng cha cc i s tuyn tnh ( linear algebra), phng php thng k ( statistic method), chc nng duy tr v iu khin chui. Mt s t cc chc nng ha v trn nh cng t y. CV : cha cc thut ton v x l nh v nh kch c camera, cc chc nng hnh ha my tnh (computational geometry function) cng c t y. CVAUX : c m t trong ti liu ca OpenCv l cha cc m li thi v cc m th nghim. Tuy nhin cc giao din n cho phn nhn din khun mt cng trong module ny. HIGHGUI v CVCAM c t trong cng th mc l "otherlibs" HIGHGUI : cha cc giao din vo ra c bn v cc kh nng ca s a nn tng. CVCAM : cha cc giao din cho video truy cp qua DirectX trn nn Windows 32 bits. 5.3.3 Cu trc nh IplImage

IplImage l nh dng nh c gii thiu v pht trin bi Intel. Chun IplImage c s dng rng ri trong x l nh, ti u ha qu trnh x l nh qun l cc nhm d liu di dng cc Field. Qu trnh x l c thc hin trn cc trng lm tng kh nng linh hot v tc x l d liu. nh dng IplImage c dng rng ri trong cc b th vin x l nh nh IPL ( Image Procesing Library) hay IPP ( Intergrated Performance Primitives), OpenCV, AMM,... Cu trc IplImage trong OpenCV nh sau: typedef struct _IplImage {

Chng 5 X l nh s v OpenCv int nSize; int ID; int nChannels; int alphaChannel; // OpenCV khng s dng int depth; char colorModel[4]; // OpenCV khng s dng char channelSeq[4]; // OpenCV khng s dng int dataOrder; int origin; int align; // OpenCV khng s dng int width; int height; struct _IplROI *roi; struct _IplImage *maskROI;// bng NULL trong OpenCV void *imageId; // bng NULL trong OpenCV struct _IplTileInfo *tileInfo; // bng NULL trong OpenCV int imageSize; char *imageData; int widthStep; int BorderMode[4]; // OpenCV khng s dng int BorderConst[4]; // OpenCV khng s dng char *imageDataOrigin; } IplImage; Cc tham s: nSize : kch thc ca nh ID : ch s version, lun bng 0 nChannels : s knh, cc hm ca OpenCV u h tr t 1-4 knh alphaChannel : OpenCV khng s dng depth : chiu su ca pixel theo bit, c cc dng sau : IPL_DEPTH_8U : unsigned 8-bit integer IPL_DEPTH_8S : signed 8-bit integer IPL_DEPTH_16U : unsigned 16-bit interger dataOder : 0 = IPL_DATA_ORDER_PIXEL cc knh mu an xen nhau, 1 = cc knh mu tch ri origin : gc ta 0 = top-left origin, 1 = bottom-left origin ( kiu Window bitmap) width : b rng nh theo pixel height : chiu cao nh theo pixel

Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh

Trang 13

roi Region of Interest (ROI) nu bng NULL th ch c vng ROI c x l imageSize : kch thc d liu nh theo byte imageData : mt pointer tr ti vng a ch nh widthStep : the size of an aligned image row, in bytes 5.3.4 Cc hm dng trong lun vn : Thu nhn nh t camera : CvCapture* cvCaptureFromCAM(int index); Trong index l ch s camera c s dng, nu c 1 camera, index = -1 Chc nng : thu nhn hnh nh t camera v tr v pointer c kiu l CVCapture. Gii phng camera : void cvReleaseCapture( CvCapture**capture); Trong capture l a ch ca Pointer c kiu cvCapture Ly hnh t camera : IplImage* cvRetrieveFrame( CvCapture* capture); hay IplImage* cvQueryFrame( CvCapture* capture); c thuc tnh ca camera double cvGetCaptureProperty( CvCapture* capture, int property_id); trong capture c kiu CvCapture i din cho camera ang lm vic property_id c th c cc gi tr sau : CV_CAP_PROP_POS_MSEC : camera frame timestamp CV_CAP_PROP_POS_FRAMES : 0-based index of the frame to be decoded/capture next. CV_CAP_PROP_POS_AVI_RATIO : (dng cho file avi) CV_CAP_PROP_FRAME_EIDTH : b rng ca video stream CV_CAP_PROP_FRAME_HEIGHT: b cao ca video stream CV_CAP_PROP_FPS : frame per second CV_CAP_PROP_FRAME_COUNT : s th t ca frame t thuc tnh cho camera int cvSetCaptureProperty( CvCapture* capture, int property_id, double value); Trong capture c kiu CvCapture* i din cho camera, property_id c cc gi tr nh trong phn c thuc tnh ca camera, value l ga tr ca thuc tnh.

Chng 5 X l nh s v OpenCv To mt nh : IplImage* cvCreateImage(CvSize size, int depth, int channels) Hm tr v mt pointer tr n hnh nh c cu trc IplImage, trong : size : kch thc nh depth : S bit biu din sng ti mi pixel channels : s knh Gii phng pointer tr ti nh: void cvReleaseImage( IplImage** image); Trong image l pointer tr ti hnh nh c cu trc IplImage Copy nh void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask = NULL); Trong : src : nh ngun dst : nh ch mask : mt n ph ln nh ngun nu ta ch mun copy mt phn nh. Xc nh vng nh cn x l (ROI) void cvSetImageROI(IplImage* image, CvRect rect); Trch mt cng nh ban u thnh mt vng nh mi, nm trong hnh ch nht rect. Sau khi trch, image l pointer tr ti hnh nh ny. Cn bng histogram cho nh xm thc hin vic cn bng histogram ta dng hm sau : CVAPI(void) cvEqualizeHist( const CvArr*scr, const CvArr* dst) Trong : scr : hnh nh gc ban u dst : hnh nh sau khi cn bng histogram Pht hin khun mt trong nh CvSeq* cvHaarDetectObjects(const CvArr* image, CvHaarClassifierCascade* cascade, CvMemStorage* storage, double scale_factor=1.1, int min_neighbors = 3, int flags = 0,CvSize min_size = cvSize(0,0)) Trong : image : nh cn pht hin cascade : chui phn lai Haar dng cho tnh tan bn trong

Robot trnh chng ngi vt - GVHD: TS.Nguyn c Thnh

Trang 15

storage : vng nh cha cc kt qu trung gian trong qu trnh phn lai scale_factor : tham s m theo kch thc ca s tm kim tng ln sau mi chu k qut, mc nh l 1.1 tc tng 10% min_neighbors : s nh nht cc hnh ch nht k cn cng pht hin khun mt. iu ny c ngha khun mt c pht hin nu c t nht mt s hnh ch nht c cng kt qu dng chng lp ln nhau. flags : ch hat ng, ch h tr CV_HAAR_DO_CANNY_PRUNNING min_size : kch thc ca s nh nht khi bt u tm kim, thng l 20x20 cho i tng l khun mt Hm ny tm cc vng hnh ch nht trong hnh c cha khun mt vi chui phn loi c hun luyn v tr v mt mng cc hnh ch nht. Trc khi gi hm ny ta phi load file d liu hun luyn: cascadefaces = (CvHaarClassifierCascade*)cvLoad(filename_face,NULL,NULL,NULL); vi filename_face l ng dn n file d liu nm trong phn d liu ca OpenCv.

You might also like