You are on page 1of 54

M U Cch tt nht hc v nhng kh nng ca cng c nhn din hnh nh l thng qua mt v d n gin.

. Chng ny gii thiu v cng c v cc v d minh ha nhng bc c bn yu cu to nn mt ng dng nhn din hnh nh thng qua vic thc hin ci t ng dng nhn din nhng chuyn ng n gin. v d bao gm s tham chiu cho n cc b phn khc trong ti liu cung cp nhng tho lun su hn v nhng nh ngha chnh xc. Cng c nhn din hnh nh l g? (phn 1-2), gii thiu v cng c nhn din hnh nh v kh nng ca n. Cng c nhn din hnh nh GUI (phn 1-4), miu t v giao din ngi s dng ci t v nhng lin kt theo hng dn ca ngi s dng. Tin trnh c bn trong nhn din hnh nh (phn 1-5), trnh by tng bc tip cn cch s dng cng c to ra mt ng dng nhn din hnh nh. Cng c nhn din hnh nh l g? Tng quan: Cng c nhn din hnh nh l tp hp cc chc nng thu nhn m rng kh nng ca mi trng s MATLAB. Cng c ny h tr trn din rng cc thut ton nhn din hnh nh, bao gm: Nhn din hnh nh thng qua nhiu kiu thit b nhn din hnh nh, t nhng thit b chuyn nghip cho n webcam ca my tnh. Xem xt mt dng video tin x l Kch hot s nhn din (bao gm b phn kch hot cc phn cng bn trong) Ci t chc nng gi ngc thc hin nhng bin c chc chn xy ra. Mang d liu hnh nh nhn c sang mi trng MATLAB Nhiu chc nng ca cng c ny l MATLAB M-file. Bn c th nhn thy nhng on code cho nhng chc nng ny mang dng lnh sau: Type function_name Bn c th m rng kh nng ca cng c nhn din hnh nh bng cch vit ra nhng on code M-file cho ring mnh, hoc s dng cng c ny kt hp vi nhng cng c khc nh cng c x l hnh nh, cng c nhn dng d liu. Cng c nhn din hnh nh cng c th bao gm mt SIMULINK BLOCK, gi video t thit b, cng c ny cho php chng ta gi mt video trc tip vo mt file mu. Ci t v nhng lu v cu hnh: xc nh cu hnh cng c nhn din hnh nh c ci t trong h thng ca bn, g lnh sau vo dng nhc MATLAB: Ver Khi bn nhn enter, MATLAB s hin ra nhng thng tin v phin bn MATLAB ang chy, bao gm mt danh sch cc cng c c ci t vo h thng ca bn v phin bn ca chng.

Thng tin v vic ci t cc cng c, xem hng dn ci t MATLAB cho my tnh ca bn. Cho vic update nhng thng tin v yu cu ca h thng, xem trang yu cu h thng, c gi tr vi nhng sn phm ca hng MathWorks (www.mathworks.com). Cc sn phm c lin quan: Hng MathWorks cung cp nhiu sn phm thch hp vi tng cng vic m bn c th gii quyt bng cng c nhn din hnh nh v m rng kh nng ca MatLab. Thng tin v nhng phng tin h tr ny xem ti: www.mathworks.com/products/imaq/related.html. Phn cng h tr Danh sch cc phn cng m cng c nhn din hnh nh h tr c th thay i mi phin bn bi v phn cng h tr thng xuyn c thm vo. Website ca MathWorks l a ch tt nht kim tra danh sch cn c update. xem danh sch y cc phn cng m cng c h tr, vo trang sn phm ca cng c nhn din hnh nh trong webside ca MathWorks v click vo ng dn supported hardware CNG C NHN DIN HNH NH (GUI) phin bn 2.0 ca cng c ny chc nng ca cng c nhn din hnh nh c hin hu trn mn hnh destop, bn kt ni trc tip vi phn cng v ci t cc thng s nhn din, xem trc v d liu hnh nh c c. Bn c th lu tr vo Matlab bng nhng nh dng khc nhau v cng c th xut ra file AVI, bn phi thanh cng c. m cng c ny, vo Start -> toolboxes -> Image Acquisition -> image Acquisition tool t Matlab. Cng c ny c phn help m rng trn mn hnh destop. Nu bn click vo nhng thanh khc nhau ca giao din ngi s dng, phn Help c lin quan xut hin trn thanh Help ca cng c nhn din hnh nh. Hu ht cc hng dn ca user din t cc cng vic hin hnh s dng cng c thng qua dng command ca Matlab. hc cch s dng cng c trn destop, xem chng 3 s dng cng c nhn din hnh nh GUI TIN TRNH THC HIN NHN DIN HNH NH C BN TNG QUAN Phn ny minh ha nhng nhng bc c bn c yu cu to ra mt ng dng nhn din hnh nh thng qua ci t cc ng dng pht hin chuyn ng c bn. ng dng nhn din nhng chuyn ng trong mt mi trng pixel to pixel th hin s so snh cp i cc khung nh a vo. Nu khng c chuyn ng no trn mn hnh gi tr pixel vn gi nguyn cc frame. Khi c vt no chuyn ng vo trong nh, ng dng s th hin s thay i ca nhng im nh b thay i gi tr. V d ch r lm cch no bn c th s dng cng c nhn din hnh nh to ra mt ng dng nhn din hnh nh vi ch mt vi dng code

LU : chy dng code n gin cho v d ny, bn phi c mt thit b nhn din hnh nh c kt ni vi h thng ca bn. Thit b ny c th l mt thit b nhn din hnh nh chuyn nghip nh l mt frame grapper (b ot khung), mt thit b nhn din hnh nh chung ca windows nh webcam. Nhng dng code ny c th c s dng di nhiu dng khc nhau ch vi vic thay i nh thc con. s dng cng c nhn din hnh nh nhm thu thp hnh nh, bn phi thc hin theo nhng bc c bn sau: Bc 1: ci t v cu hnh cho thit b nhn din hnh nh ca bn Bc 2: ly ra nhng thng tin m c trng xc nh thit b nhn din hnh nh ca bn a vo cng c nhn din hnh nh Bc 3: to mt object cho video vo Bc 4: xem li dng video (khng bt buc) Bc 5: thit lp cu hnh cho nhng c tnh ca object Bc 6: thu thp d liu Bc 7: lm sch BC 1: CI T THIT B NHN DIN HNH NH CA BN Lm theo hng dn ci t i km theo thit b nhn din hnh nh ca bn. Nhng bc ci t c bn bao gm: Ci t bng frame grapper vo my tnh ca bn Ci t cc driver m thit b yu cu. Chng c cung cp bi i l pht hnh Kt ni mt camera vo u ni ca bng frame grapper Kim tra cc c tnh lm vic ca camera bng cch chy phn mm ng dng i km vi camera v xem xt dng video trc tip. Thit b nhn din hnh nh chung ca Windows, nh l webcam hoc my quay video k thut s c c trng l khng yu cu lp t bng frame grapper. Bn c th kt ni trc tip nhng thit b ny vi my tnh thng qua cng USB hoc qua cng FireWire. Sau khi lp t v cu hnh cho phn cng nhn din hnh nh, khi ng Matlab trn my tnh ca bn bng cch double-click vo biu tng trn mn hnh destop. Bn khng cn phi thc hin bt k vic thit lp cu hnh c bit no ca Matlab thc hin cng vic nhn din hnh nh. BC 2: LY RA THNG TIN PHN CNG bc ny, bn s ly ra nhiu phn khc nhau m cng c cn nhn ra c trng ca thit b nhn din hnh nh m bn mun lp t. Bn s dng nhng thng tin ny khi bn to ra mt object nhn din hnh nh, trnh by bc 3: to ra mt image input object. Bng sau y lit k ra danh sch cc thng tin. Bn s dng chc nng imaqhwinfo ly thng tin v cc item.

Device information Adaptor name

Description Apdator l mt phn mm m cng c s dng giao tip vi thit b nhn din hnh nh qua driver ca n. Cng c bao gm cc adaptor ca thit b nhn din hnh nh v cho cc loi nh ring r ca thit b nhn din hnh nh. Xem quyt nh tn cho adaptor trang 1-8 bit thm thng tin ID ca thit b l mt con s m adaptor gn vo n nhn ra cc thit b nhn din hnh nh khc nhau m n c th giao tip. xem quyt nh ID cho thit b trang 1-8 bit thm thng tin. Lu : vic phn bit ID ca cc thit b l khng cn thit. Cng c s dng gi tr ID u tin nh l mc nh. Video format dng phn bit c nh (chiu rng v chiu cao) v mt s nh dng khc ca dng video. Cc thit b nhn din hnh nh thng h tr nhiu kiu dnh dng video. Xem quyt nh nh dng video h tr trang 1-9 thm thng tin. Note: vic phn bit cc nh dng video l khng cn thit, cng c s dng mt trong cc kiu nh dng c h tr lm mc nh.

Device ID

Video format

QUYT NH TN CA ADAPTOR quyt nh tn cho adaptor, ly chc nng imaqhwinfo ti dng nhc ca MATLAB m khng cn thm bt c yu cu g: imaqhwinfo ans = InstalledAdaptors: {'dcam' 'winvideo'} MATLABVersion: '7.4 (R2007a)' ToolboxName: 'Image Acquisition Toolbox' ToolboxVersion: '2.1 (R2007a)' Trong d liu phn hi ca imaqhwinfo, installeadaptor s lit k ra danh sch cc adaptor hin hu vi my tnh, trong v d trn, imaqhwinfo tm thy 2 adaptor c gi tr vi my tnh : dcam v winvideo. Danh sch trn mn hnh khng ch bao gm tn ca adaptor. Chn tn ca adaptor kt ni vi thit b nhn din hnh nh ca bn. Thng tin thm xem ti quyt nh tn thit b adaptor ti trang 4-3. QUYT NH ID CA THIT B tm ID ca tng thit b nhn din hnh nh, g dng lnh imaqhwinfo ti dng nhc ca MATLAB cng vi tn ca thit b m bn yu cu, (bn tm thng tin v tn ca thit b trc sau tm ID, chi tit xem trang 1-8), trong d liu phn hi v, vng deviceIDs l mt bng cc gi tr deviceIDs ca tt c cc thit b c th kt ni thng qua cc adaptor ring r. Lu : trong v d s dng tn adaptor l DCAM, bn nn nh vo tn thit b m mnh mun s dng.

info = imaqhwinfo('dcam') info = AdaptorDllName: [1x77 char] AdaptorDllVersion: '2.1 (R2007a)' AdaptorName: 'dcam' DeviceIDs: {[1]} DeviceInfo: [1x1 struct] QUYT NH KIU NH DNG VIDEO H TR quyt nh kiu nh dng m thit b nhn din hnh nh h tr, nhn vo deviceinfo ca d liu tr v t imaqhwinfo. Vng deviceinfo l mt cu tr sp xp ni mi cu trc thng tin c cung cp l mt thit b ring r. Bng mt s la chn, bn c th xem thng tin ca mt thit b ring r bng cch gi chc nng imaqhwinfo, xc nh tn v ID ca thit b trong dng lnh. ly danh sch cc nh dng video c h tr bi thit b, nhn vo vng supportedformat trong h thng cc thng tin v thit b. supportedformat l mt vng sp xp cc thng tin thnh mt di tn cc nh dng m thit b h tr. bit thm thng tin, xem quyt nh nh dng video h tr trang 4-6. dev_info = imaqhwinfo('dcam',1) dev_info = DefaultFormat: 'F7_Y8_1024x768' DeviceFileSupported: 0 DeviceName: 'XCD-X700 1.05' DeviceID: 1 ObjectConstructor: 'videoinput('dcam', 1)' SupportedFormats: {'F7_Y8_1024x768' 'Y8_1024x768'} Bc 3: TO MT OBJECT VIDEO VO bc ny bn to mt object video vo m cng c s dng th hin s kt ni gia matlab vi mt thit b nhn din hnh nh. S dng thuc tnh ca mt Object video vo, bn c th kim sot nhiu kha cnh ca qu trnh nhn din hnh nh. bit thm thng tin, xem ti chng 4 kt ni vi phn cng to mt object video vo, s dng chc nng videoinput ti dng nhc ca matlab. Cu trc deviceinfo c phn hi t chc nng imaqhwinfo bao gm cc chc nng videoinput mc nh c php cho mt thit b trong vng objectconstructor. bit thm thng tin xem ti quyt nh cc nh dng video h tr trang 1-9. V d di y to mt object video vo cho DCAM adaptor. Tn ca adaptor thay th cho tn ca thit b nhn din hnh nh c gi tr vi h thng ca bn.

vid = videoinput('dcam',1,'Y8_1024x768') Chc nng videoinput chp nhn 3 gi tr: tn adaptor, ID ca thit b, nh dng video. Bn truy xut nhng thng tin ny bc 2. Tn ca adaptor ch l mt gi tr c yu cu, chc nng videoinput c th dng n mc nh cho ID thit b v kiu video h tr. Thay v xc nh mt cc ring r cc nh dng video, bn c th xc nh ngu nhin tn file cu hnh ca thit b cn gi l camera file. Cc file cu hnh thit b thng c cung cp ring r bi cc nh pht hnh frame grapper. Nhng file ny bao gm tt c cc ci t cu hnh c yu cu s dng ring r cc camera vi thit b. xem s dng file cu hnh thit b (camera files) trang 4-14 bit thm thng tin. XEM XT S LNG V VIDEO INPUT xem xt mt cch tng quan v video input m bn ca to thnh, g tn bin s ti dng nhc ca MATLAB. Nhng thng tin s lc c hin th th hin nhiu c im ca object, nh s lng frame s c truy bt bi mi trigger, kiu trigger, v tnh trng hin ti ca object. Bn c th s dng c tnh ca cc video input object kim sot cc c im ny. Xem cu hnh c tnh cho object (khng bt buc) trang 1-13 bit thm thng tin. vid Summary of Video Input Object Using 'XCD-X700 1.05'. Acquisition Source(s): input1 is available. Acquisition Parameters: 'input1' is the current selected source. 10 frames per trigger using the selected source. 'Y8_1024x768' video data to be logged upon START. Grabbing first of every 1 frame(s). Log data to 'memory' on trigger. Trigger Parameters: 1 'immediate' trigger(s) on START. Status: Waiting for START. 0 frames acquired since starting. 0 frames available for GETDATA. BC 4: XEM XT DNG VIDEO (KHN BT BUC) Sau khi to object video input, MATLAB c th truy xt vo thit b nhn din hnh nh v nhn d liu. tuy nhin, trc khi bt u, bn c th xem trc dng video chc rng hnh nh l tha mn. Vid d, bn c th mun thay i v tr ca camera, thay i ngun sng, iu chnh mc tiu, hoc thay i mt s thng tin nhn din hnh nh c ci t. LU : bc ny khng bt buc trong tin trnh bi v bn c th xem dng video input bt k lc no sau khi thit lp video input object. xem trc dng video input trong v d ny, g chc nng preview trn dng nhc ca MATLAB, xc nh video input object c thit lp bc 3 bng mt yu cu:

preview(vid) Chc nng preview m ra mt ca s hnh nh video trn mn hnh cha dng video ly trc tip. dng dng video trc tip ny, gi chc nng stoppreview. khi ng li, gi chc nng preview mt ln na. Trong khi ca s preview m ra, dng video input object thit lp gi tr ca cc c tnh previewing thnh ON. Nu bn thay i c tnh ca hnh nh bng cch thay i thng s ci t ca thit b nhn din, hnh nh c hin th s thay i theo c tnh m bn ci t.

ng ca s preview, click nt close trn thanh tiu , s dng chc nng closepreview: Closepreview(vid) Gi chc nng closepreview m khng c bt c yu cu g ngha l bn s ng tt c cc ca s preview ang m. BC 5: CU HNH CC THUC TNH CA OBJECT

Sau khi thit lp object video input v preview dng video, bn c th chnh sa mt s c tnh ca hnh nh v mt s ci t ca tin trnh nhn din. Bn thc hin n bng cch thay i gi tr ca thuc tnh nhn din bao gm: M t kiu object nhn din s dng trong toolbox M t cch xem tt c cc thuc tnh c h tr bi nhng object ny, vi gi tr hin ti ca chng. M t cch set gi tr ca cc thuc tnh. KIU CA OBJECT NHN DIN HNH NH Cng c s dng 2 kiu ca object th hin s kt ni vi thit b nhn din hnh nh: Object video vo (input) Object video ngun (source) Mt object video input th hin s kt ni gia MATLAB v thit b nhn din cp cao. Cc thuc tnh c h tr bi object video input ny ging nhau cho tt c cc kiu thit b. bn c th khi to mt object video input bng cch s dng chc nng videoput bc 3 Khi bn khi to object video input, cng c s t ng thit lp mt hoc nhiu object video source tng ng. Mi video source object (ngun) th hin s thu thp mt hoc nhiu cc d liu vt l ngun c x l bi cc i lng ring l. S lng cc object video ngun ty thuc vo thit b v nh dng video m bn xc nh. Bt k lc no, ch c mt video ngun c gi t ngun c la chn u c active. y l ngun c s dng nhn din. bit thm thng tin, xem khi to object nhn din hnh nh, trang 4-9. Xem xt cc c tnh ca object xem xt mt danh sch hon chnh cc c tnh c h tr bi object input hoc object source, s dng chc nng get. lit k ra cc thuc tnh ca object c to bc 3, g on code ny vo dng nhc MATLAB get(vid) Chc nng get lit k ra tt c cc gi tr hin ti ca object General Settings: DeviceID = 1 DiskLogger = [] DiskLoggerFrameCount = 0 EventLog = [1x0 struct] FrameGrabInterval = 1 FramesAcquired = 0 FramesAvailable = 0 FramesPerTrigger = 10 Logging = off

LoggingMode = memory Name = Y8_1024x768-dcam-1 NumberOfBands = 1 Previewing = on ReturnedColorSpace = grayscale ROIPosition = [0 0 1024 768] Running = off Tag = Timeout = 10 Type = videoinput UserData = [] VideoFormat = Y8_1024x768 VideoResolution = [1024 768] . . . xem xt cc c tnh ca object video source ang c la chn c lin kt vi video input object, s dng chc nng getselectedsource kch hot object source ang lin kt. lit k ra danh sch cc c tnh ca object video ngun ang c la chn, lin kt vi object video input to bc 3, g dng lnh vo dng nhc ca MATLAB get(getselectedsource(vid)) Chc nng get lit k ra tt c nhng c tnh ca object vi cc gi tr hin ti ca n. LU : cc c tnh ca object video source c xc nh ring r cho tng thit b. Danh sch cc c tnh c h tr bi thit b kt ni vi h thng ca bn c th khc vi danh sch c trnh by trong v d di y: General Settings: Parent = [1x1 videoinput] Selected = on SourceName = input1 Tag = Type = videosource Device Specific Properties: FrameRate = 15 Gain = 2048 Shutter = 2715 Ci t thuc tnh ca OBJECT

ci t cc gi tr ca cc thuc tnh ca video input object hoc cc gi tr ca thuc tnh ca video source object, bn c th s dng chc nng set hoc bn c th tham chiu thuc tnh ca i tng m bn mun trong mt cu trc vng, s dng k hiu im chun. Mt s thuc tnh bn ch c th c m khng th chnh sa chng. Nhng thuc tnh ny cung cp nhng thng tin chun v tnh trng ca object. Mt s thuc tnh khc tr thnh thuc tnh ch c (read only) khi object ang hot ng. xem danh sch cc thuc tnh m bn c th chnh sa, s dng chc nng set, xc nh c tnh i tng bng ch mt yu cu. ci t nhn din hnh nh lin tc, trong v d ci t thuc tnh triggerRepeat thnh thuc tnh inf. ci t cc thuc tnh ny, s dng chc nng set, g code ny vo dng nhc ca MATLAB set(vid,'TriggerRepeat',Inf); gip cho ng dng gi c dng video vo trong khi ang thu thp d liu, trong v d set gi tr ca thuc tnh FrameGrapIntervel thnh 5. iu ny xc nh rng object yu cu c 5 frame trong mt dng video. (bn phi th nghim gi tr ca FrameGrapIntervel tm ra gi tr tt nht cho vic ci t nhn din hnh nh ca bn). v d sau cho bn bit cch set gi tr ca mt thuc tnh ca object bng cch tham chiu cc thuc tnh bn mun theo im chun ca vng trong cu trc MATLAB vid.FrameGrabInterval = 5; set gi tr cho thuc tnh ca video ngun (source), u tin bn phi s dng chc nng getselectedsource truy bt object (bn cng c th ly ngun c la chn bng cch gn thuc tnh ngun ca video input object vi videp source object m c thuc tnh selected l on minh ha, v d sau sp xp mt gi tr vo thuc tnh TAG vid_src = getselectedsource(vid); set(vid_src,'Tag','motion detection setup'); BC 6: C C D LIU HNH NH Sau khi bn to video input object v cu hnh cho cc thuc tnh ca n, bn c th c c d liu. y l bn cht c trng ca bt k ng dng nhn din hnh nh no, v n bao gm nhng bc sau: Khi ng object video input: bn khi ng mt object bng cch gi chc nng start. Khi ng mt object n sn sng cho vic nhn din d liu. v d, khi khi ng mt object th cc thuc tnh ca n s chuyn thnh thuc tnh ch c (read only). Tuy nhin, khi

ng mt object th cha th c c ngay cc frames ca hnh nh. S khi u ca d liu ng nhp ph thuc vo s thc hin ca mt trigger. V d sau s dng chc nng start khi ng object video input. Object dng li khi c c y cc yu cu v s lng frames. V v d ny xc nh s nhn din lin tc nn bn phi gi chc nng stop th mi dng object li c. Triggering the acquisition: c c d liu, mt object video input phi khi ng mt trigger. Trigger c th xy ra bng nhiu cch, ty vo c tnh cu hnh ca triggertype. V d, bn c th xc nh mt trigger tc thi (immediate), object s t ng khi ng trigger, ngay lp tc sau khi object khi ng. Nu bn xc nh mt trigger manual, object s i n khi chc nng trigger c gi ra trc khi n bt u nhn din. bit thm thng tin, xem chng 5 acquiring image data. Trong v d, bi v trigger c ci t theo thuc tnh immediate (mc nh) v thuc tnh triggerrepeat c ci l inf nn object s t ng khi ng trigger v c c frames ca d liu mt cch lin tc. Mang d liu vo mi trng MATLAB: cng c lu tr d liu c c vo mt vng nh m, mt a, hoc c 2 ty thuc vo gi tr ca thuc tnh loggingMode. lm vic vi nhng d liu ny, bn phi mang n vo mi trng MATLAB. mang mt lc nhiu frames vo trong MATLAB, s dng chc nng getdata. C d liu vo trong mi trng MATLAB th bn c th iu khin n theo mi d liu m bn mun. thm thng tin, xem chng 6 lm vic vi d liu hnh nh c c. LU : cng c cung cp cho bn cch thun li nht c c mt single frame ca d liu hnh nh m khng yu cu phi khi ng hoc triggering object . Xem phn mang mt single frame vo mi trng lm vic trang 6-10 thm chi tit. CHY V D chy c v d, g dng lnh sau vo dng nhc ca MATLAB. Vng lp ca v d ko di cho n khi nhn c mt s lng frames xc nh. Trong mi bc lp, mu s gi chc nng getdata mang 2 frames mi nht vo mi trng MATLAB. d tm chuyn ng, mu s tr i mt frame t mt mu khc, to ra mt nh khc, v sau biu din n. Cc im nh thay i gi tr trong cc frames c yu cu s c cc gi tr khc Zero (0) trong cc nh khc nhau. Chc nng getdata xa i cc frames t b nh m khi n c mang vo mi trng MATLAB. iu ny c ngha rt quan trng di chuyn cc frames t b nh m vo mi trng MATLAB theo trnh t thi gian. Nu bn khng di chuyn cc frames c c ra khi b nh m, b nh m ca bn s nhanh chng y. ng dng to ra mt hnh nh MATLAB v thit lp thuc tnh DoubleBuffer. Thuc tnh ny khng lin quan trc tip n s nhn din hnh nh nhng n m bo cho hnh nh mn. LU : v d ny s dng chc nng trong cng c thu thp hnh nh

% Create video input object. vid = videoinput('dcam',1,'Y8_1024x768') % Set video input object properties for this application. % Note that example uses both SET method and dot notation method. set(vid,'TriggerRepeat',Inf); vid.FrameGrabInterval = 5; % Set value of a video source object property. vid_src = getselectedsource(vid); set(vid_src,'Tag','motion detection setup'); % Create a figure window. figure; % Start acquiring frames. start(vid) % Calculate difference image and display it. while(vid.FramesAcquired<=100) % Stop after 100 frames data = getdata(vid,2); diff_im = imabsdiff(data(:,:,:,1),data(:,:,:,2)); imshow(diff_im); end stop(vid) Hnh nh sau ch ra cch ly mu truy bt chuyn ng. trong nh, nhng vng th hin chuyn ng c hin th.

D LIU HNH NH TRONG MI TRNG MATLAB Trong v d, chc nng getdata quay ngc cc frames nh trong mt d liu bin dng bng 480-640-1-10 ca 8 bit d liu. whos Name Size Bytes Class data 4-D 3072000 uint8 array dev_info 1x1 1601 struct array info 1x1 2467 struct array vid 1x1 1138 videoinput object vid_src 1x1 726 videosource object Chiu cao v chiu rng ca bng d liu c quyt nh ch yu bi chnh xc ca video so vi video nh dng. Tuy nhin, bn c th s dng thuc tnh ROIposition xc nh gi tr thay th cho chnh xc ca video. Thit b biu din mt cch c trng chnh xc video theo hng v ct. MATLAB th hin chnh xc ca video theo ma trn hng v ct. Kch thc th 3 th hin s lng ph mu ca hnh nh. Bi v mu d liu l nh theo thang o xm, kch thc th 3 l 1. Theo nh dng RGB, frames hnh nh c 3 ph mu: , xanh green v xanh blue. Kch thc th 4 l s lng frames c c trong dng video. BC 7: LM SCH Sau khi bn hon thnh vic s dng cc object nhn din hnh nh, bn c th xa chng ra khi b nh v xa cc gi tr c lin quan vi nhng object ny ra khi mi trng lm vic ca MATLAB. delete(vid) clear close(gcf) thm thng tin, xem ti xa object nhn din hnh nh trang 4-28. CHNG 2: GII THIU Chng ny din t v cng c nhn din hnh nh v cc chc nng ca n. Tng quan (p2.2) : cung cp mt ci nhn tng quan v cng c x l hnh nh Ci t phn cng nhn din hnh nh (p2-5): m t cch bn lp t cc thit b nhn din hnh nh ca mnh Previewing data (p2-8): m t cch bn xem c dng video vo, khng c d liu hin thi.

TNG QUAN: Cng c nhn din hnh nh thc hin vic tip cn c nh hng v nhn din hnh nh. S cng chc nng ca cng c, bn c th to ra mt object m n l kt qu ca s kt ni gia MATLAB v cc thit b nhn din hnh nh xc nh. S dng cc thuc tnh ca object, bn c th iu khin nhiu kha cnh khc nhau ca qu trnh nhn din, nh l ln ca d liu video m bn mun truy bt. Chng 4 kt ni phn cng s hng dn bn cch to ra mt object. Khi kt ni vi mt thit b, bn c th c c d liu v hnh nh thng qua vic thc thi mt trigger. Trong cng c, vic nhn din u c bt u t mt trigger. Cng c h tr nhiu kiu trigger khc nhau bn d kim sot khi qu trnh nhn din din ra. V d, s dng phn cng trigger, bn c th ng b ha s nhn din vi mt thit b ngoi. Chng 5 thu thp d liu s ch cho bn cch trigger d liu ca hnh nh. lm vic vi d liu nhn c, bn phi mang d liu ny vo mi trng MATLAB. Khi cc frames c kch hot, cng c s lu tr d liu vo mt vng nh tm. Cng c cung cp cho bn nhiu cch c th mang cng lc nhiu frames vo mi trng MATLAB t bn c th iu khin bng ma trn nhiu kch thc. Chng 6 lm vic vi d liu nhn c s hng dn chi tit v vn ny. Cui cng, bn c th tng cng ng dng nhn din bng cch s dng chc nng callbacks. Cng c xc nh bin c chc chn xy ra, nh l triggering ca mt qu trnh nhn din. Bn c th kt hp nhiu chc nng ring r vi mt bin c c th. Chng 7 s dng chc nng bin c v callbacks m t qu trnh ny. CC CHC NNG CA CNG C Cng c s dng cc chc nng gi b chnh lu phn cng kt ni vi thit b thng qua cc drivers ca n. Cng c bao gm cc b chnh lu h tr thit b c cung cp bi nhiu nh pht hnh ca cc thit b nhn din hnh nh. Hn na, cng c bao gm mt b chnh lu chung cho thit b nhn din hnh nh trn windows. S sau th hin cc chc nng ca cng c v mi quan h ca chng:

CNG C NHN DIN HNH NH GUI khi ng chc nng nhn din hnh nh, chn Start > Toolboxes > Image Acquisition > Image Acquisition Tool t MATLAB. Cng c c phn help trn desktop, khi bn click chut vo cc phn khc nhau trn giao din, phn help s hin ra. Hu ht cc hng dn s dng u din t cc nhim v thng qua dng command. hc cch s dng cn c desktop, xem chng 3 s dng cng c nhn din hnh nh GUI CC THIT B H TR Thit b h tr c th l DIGITAL CAMERA SPECIFICATION (DCAM) v driver windows driver model WDM hoc video for window (VFW), cp usb hoc IEEE 1394 (firewire), web camera, digital video (DV) camcoder LU : cng c ch kt ni c vi IEEE 1394 (firewire) hoc DCAM vi driver DCAM. CI T PHN CNG NHN DIN HNH NH GII THIU thu thp d liu, bn thc hin vic ci t theo cc yu cu ca tng thit b nhn din ring. Thng thng, vic ci t mt thit b nhn din hnh nh nh l mt camera, l kt ni n vi my vi tnh thng qua bng nhn din hnh nh nh frames grapper hay cp USB hoc cng IEEE 1394 (firewire). Vic ci t i vi cc thit b khc nhau l khc nhau. Sau khi lp t v cu hnh cho thit b phn cng, khi ng MATLAB. Bn khng cn phi thc hin bt k ci t thm hoc cu hnh thm cho MATLAB thu nhn c d liu. CI T FRAME GRAPPER Frames grapper hay cn gi image boards c ci t thng thng bao gm nhng bc sau: Ci t frames grapper vo my tnh ca bn Ci t driver m frames grapper yu cu Kt ni camera, hoc thit b nhn din hnh nh khc vo mt conector trn frame grapper. Kim tra xem camera hot ng bnh thng cha bng cch chy ng dng phn mm i km vi frames grapper v xem th dng video Ci t ca s nhn din hnh nh IEEE 1394 (firewire) v ca s nhn din chung s dng window driver model (WDM) hoc video for window (VFW) l nhng yu cu ti thiu phi c. Ni thit b vi my tnh thng qua cng usb hoc cng IEEE 1394 v ci t driver ca nh cung cp. Ci t thit b DCAM Nu bn mun truy cp vo mt DCAM thng qua IEEE 1394 camera, bn phi ci t driver DCAM. Cng c khng ph hp vi bt k nh cung cp no. RESET phn cng nhn din hnh nh tr v MATLAB bit tnh trng ca thit b phn cng , s dng chc nng imareset Nu bn kt ni thm mt thit b khc vo my tnh sau khi mi trng MATLAB khi ng, bn c th dng chc nng imareset lm cho MATLAB nhn c thit b mi ny.

LU V FRAMES RATES V TC X L Frame rates din t thit b cung cp d liu nhanh n mc no, thng th n o s frames trn giy. Thit b h tr chun nh dng video cng nghip phi cung cp c s lng frames xc nh theo tiu chun. Theo chun RS170 v NTSC, tiu chun quy nh mt tc frame 30frames/giy (30hz). Tiu chun CCIR hoc PAL quy nh tc l 25hz. Cc thit b ngoi tiu chun c th ci t iu khin tc cao hn. Thit b nhn din hnh nh thng thng, nh web cam, c th h tr nhiu tc . Ty vo thit b c s dng, tc frames c th c ci t cc thuc tnh ring r theo object nhn din hnh nh. Tc m cng c c th thc hin ty thuc vo tc x l ca my tnh, tnh phc tp ca thut ton x l, v tc frames. Tc x l ca my tnh nhanh, thut ton n gin v mt tc frames tng thch vi vic ci t qu trnh nhn din s lm cho cng c nhn din hnh nh x l d liu nh tc n i vo. XEM TRC D LIU Trc khi kt ni my tnh vi thit b nhn din hnh nh, bn c th xem dng video trc tip bng cch s dng ca s video preview window. Xem trc d liu video c th gip bn m bo rng nh c chp l tha mn. V d, nhn vo on video preview, bn c th kim chng rng tiu c tia sng l ng. Nu bn thay i c im ca hnh nh, s dng thuc tnh video input hoc thuc tnh video source, hnh nh s c thay i ngay sau khi ci t gi tr thuc tnh mi trn ca s window preview. Cc phn sau y cung cp nhiu thng tin hn v s dng ca s window preview: M mt ca s window preview (trang 2-9) Dng dng video preview (trang 2-10) ng mt ca s preview (trang 2-11) Thay v s sng ca s video preview ca cng c, bn c th trnh chiu dng video trc tip bng bt c object hnh nh handle graphics m bn xc nh. Bng cch ny, bn c th a video preview vo cng c nhn din hnh nh m bn t to. Nhng phn sau m t nhng kh nng ny: Ty chnh video preview trong cng c GUI Trnh din qu trnh ty chnh d liu hnh nh M MT CA S PREVIEW m mt ca s video preview, s dng chc nng preview. Chc nng preview cho php th hin dng video ly trc tip t thit b thu. Bn c th m mt ca s preview cho mi thit b. Nu c nhiu thit b c s dng, bn c th m nhiu ca s preview video cng lc. V d di y to mt video input object v sau m mt ca s preview cho video input object . vid = videoinput('winvideo'); preview(vid);

Hnh nh sau y th hin ca s preview cho v d trn. Ca s video preview th hin dng video trc tip. Kch thc ca nh preview c quyt nh bi gi tr ca thuc tnh ROIposition ca object video input. Ca s video preview th hin d liu video phng i 100%.(1 pixel mn hnh biu din 1 pixel nh). Thm vo nh preview, ca s video preview cn cha cc thng tin v hnh nh nh l timestamp ca frame video, chnh xc video v tnh trng hin ti ca object video input. LU : v cc kiu nh dng video thng thng th hin chnh xc ca nh thng qua chiu rng v chiu cao, ca s preview video th hin kch thc ca khung nh bng hng v ct, ln hn nh dng dng v ct ca MATLAB.

DNG DNG VIDEO PREVIEW Khi bn s dng chc nng preview bt u nhn d liu preview ca hnh nh, ca s video preview biu din dng video trc tip c ly t thit b. dng cp nht dng video, gi chc nng stoppreview. V d sau to ra mt object video input v m mt ca s video preview. V d ny sau gi chc nng stppreview cho object video input. Ca s video preview ngng cp nht hnh nh v ngng cp nht timestamp. Tnh trng th hin ca s video preview cng thay i p ng preview c stop. vid = videoinput('winvideo'); preview(vid) stoppreview(vid)

khi ng li dng video trong ca s preview, gi li chc nng preview trong object video input . preview(vid) NG MT CA S VIDEO PREVIEW ng mt ca s video preview ring r, s dng chc nng closepreview , xc nh object video input vi ch mt yu cu. closepreview(vid) ng tt c cc ca s video preview ang m, s dng chc nng closepreview m khng thm bt k yu cu g Closepreview LU : khi gi chc nng m khng km bt k yu cu g, chc nng closepreview ch ng cc ca s preview. Chc nng closepreview s khng ng bt k ca s hnh nh no m bn ang c dng video trc tip ca s . bit thm thng tin xem phn previewing data in custom GUIs trang 2-11 Previewing data in custom GUIs Thay v s dng ca s video preview bn c th s dng trc tip chc nng preview ly dng video trc tip cho bt k object hnh nh handle graphics no. Bng cch ny, bn c th cho vo cng c preview trong mt GUI c to ra bi chnh bn. s dng kh nng ny, to ra mt object image v sau gi chc nng preview, xc nh yu cu x l object image. Chc nng preview xut ra dng video trc tip n object image m bn xc nh. V d di y to ra mt ca s hnh nh v sau to ra mt object hnh nh c cng c vi frame video. V d sau gi chc nng preview xc nh qu trnh x l cho object hnh nh. % Create a video input object. vid = videoinput('winvideo'); % Create a figure window. This example turns off the default % toolbar, menubar, and figure numbering. figure('Toolbar','none',... 'Menubar', 'none',... 'NumberTitle','Off',... 'Name','My Preview Window'); % Create the image object in which you want to display % the video preview data. Make the size of the image % object match the dimensions of the video frames. vidRes = get(vid, 'VideoResolution');

nBands = get(vid, 'NumberOfBands'); hImage = image( zeros(vidRes(2), vidRes(1), nBands) ); % Display the video data in your GUI. preview(vid, hImage); khi bn chy v d ny, n s to ra GUI nh hnh sau: X L D LIU PREVIEW Khi cc bn xc nh mt object nh cho chc nng preview, bn khng buc phi xc nh mt chc nng m preview thc hin mi lc n nhn mt frame hnh nh. s dng chc nng ny, theo bc sau: To ra mt chc nng m bn thc hin cho mi frame, gi chc cp nht ca s preview. thm tin v chc nng ny, xem to chc cp nht ca s preview trang 2-13.

hnh bt c cc mun nng thng nng

To mt object hnh nh Cu hnh gi tr ng dng updatepreviewwindownfcn cho object hnh nh, xc nh d liu c chc nng x l cp nht cho ca s preview. thm thng tin, c xc nh chc nng preview trang 2-15. Gi chc nng preview, xc nh handle ca object hnh nh bng mt yu cu. LU : khi bn xc nh chc nng cp nht ca s preview, trong iu kin c bt c iu g tc ng n qu trnh c biu hin, n s hin d liu ca video trn object hnh nh. Bn c th thc hin iu ny bng cch cp nht Cdata ca object hnh nh vi frame video vo. TO CHC NNG CP NHT CA S PREVIEW Khi preview gi chc nng cp nht ca s preview m bn xc nh, n s chuyn chc nng theo yu cu sau: Yu cu M t Obj X l trn object video input c preview Cu trc d liu bao gm cc vng sau D liu Frame nh hin hnh c xc nh bi 3 chiu: H l chiu cao, W l chiu rng, 2 kch thc ny c xc nh trong thuc tnh ROIposition, chiu B l s mu ca nn nh Bin c c xc nh trong thuc tnh numberofbands chnh xc L ma trn xc nh chiu di v chiu cao ca nh hin hnh, c xc nh trong thuc tnh ROIposition Trng thi Chui k t m t trng thi ca object video input

Himage

Chui k t xc nh quan h gia gii gian v frame nh hin hnh theo n v: hh:mm:ss:ms Chuyn n object hnh nh m d liu ang c th hin timestamp

V d sau to chc nng update ca s preview th hin timestamp ca mi frame video vo bng mt text label custom GUI. Chc nng update ca s preview s dng getappdata truy xut mt object uicontrol t ng dng xc nh d liu trong object hnh nh c lu tr vo text label ca uicontrol object. Xem xc nh chc nng preview update trang 2-15. Lu rng chc nng cp nht ca s preview cng th hin d liu video bng cch cp nht Cdata ca object hnh nh. function mypreview_fcn(obj,event,himage) % Example update preview window function. % Get timestamp for frame. tstampstr = event.Timestamp; % Get handle to text label uicontrol. 2-ht = getappdata(himage,'HandleToTimestampLabel'); % Set the value of the text label. set(ht,'String',tstampstr); % Display image data. set(himage, 'CData', event.Data) XC NH CHC NNG CP NHT PREVIEW Dng s dng mt chc nng cp nht ca s preview, thm mt chc nng t to vo chc nng trong ng dng updateprviewwindowfcn xc nh bi d liu ca object hnh nh. V d sau s dng chc nng setappdata cu hnh cho ng dng ny, xc nh d liu cn cp nht cho ca s preview. Thm vo , minh ha cho vic s dng chc nng cp nht ca s preview, v d GUI bao gm mt text label uicontrol object th hin gi tr timestamp. Chc nng update preview window s cp nht text label ny mi khi c 1 frame c nhn. v d s dng chc nng getappdata lu vo text label uicontrol ca ng dng, xc nh d liu trong object hnh nh. Chc nng update preview window s truy xut d liu c lu li ny cp nht vo timestamp. % Create a video input object. vid = videoinput('winvideo'); % Create a figure window. This example turns off the default % toolbar and menubar in the figure. hFig = figure('Toolbar','none',... 'Menubar', 'none',... 'NumberTitle','Off',... 'Name','My Custom Preview GUI');

% Set up the push buttons uicontrol('String', 'Start Preview',... 'Callback', 'preview(vid)',... 'Units','normalized',... 'Position',[0 0 0.15 .07]); uicontrol('String', 'Stop Preview',... 'Callback', 'stoppreview(vid)',... 'Units','normalized',... 'Position',[.17 0 .15 .07]); uicontrol('String', 'Close',... 'Callback', 'close(gcf)',... 'Units','normalized',... 'Position',[0.34 0 .15 .07]); % Create the text label for the timestamp hTextLabel = uicontrol('style','text','String','Timestamp', ... 'Units','normalized',... 'Position',[0.85 -.04 .15 .08]); % Create the image object in which you want to % display the video preview data. vidRes = get(vid, 'VideoResolution'); imWidth = vidRes(1); imHeight = vidRes(2); nBands = get(vid, 'NumberOfBands'); hImage = image( zeros(imHeight, imWidth, nBands) ); % Specify the size of the axes that contains the image object % so that it displays the image at the right resolution and % centers it in the figure window. figSize = get(hFig,'Position'); figWidth = figSize(3); figHeight = figSize(4); set(gca,'unit','pixels',... 'position',[ ((figWidth - imWidth)/2)... ((figHeight - imHeight)/2)... imWidth imHeight ]); % Set up the update preview window function. setappdata(hImage,'UpdatePreviewWindowFcn',@mypreview_fcn); % Make handle to text label available to update function. setappdata(hImage,'HandleToTimestampLabel',hTextLabel); preview(vid, hImage);

khi bn chy v d ny, n s to ra mt GUI hin th hnh nh nh bn di. Mi khi chc nng preview nhn mt frame video, n s gi chc nng update preview window m bn thit lp cp nht cho timestamp text label.

CHNG 3: S DNG CNG C NHN DIN HNH NH GUI THANH CNG C DESKTOP M CNG C ng dng desktop hin hu ngay trn giao din ca cng c nhn din hnh nh, bn kt ni trc tip vi phn cng trong mt cng c v c th preview v thu nhn d liu hnh nh. Bn c th ng nhp d liu vo MATLAB bng nhiu nh dng, v cng c th xut ra file AVI bng cng c ny. Cng c nhn din hnh nh cung cp mt mi trng desktop tch hp thnh mt vng gm xem v thu nhn d liu vi cc thng s nhn din bn c th sa cha v nhn ra c s thay i trn d liu. m cng c nhn din hnh nh, bn c 2 cch: G dng lnh: imaqtool dng command Vo start toolbox image acquisition acquisition tool t matlab Lu : phn bn phi cng c l phn help nu bn lm vic vi cng c help, n s cung cp cho bn thng tin v nhng phn ca giao din m bn s lm vic trn . Khi phn help ng li, bn c th m li n. Cc phn ca desktop Cng c nhn din hnh nh c nhng phn sau y:

Hardware browser: hin th thit b nhn din hnh nh ang kt ni vi h thng ca bn hin ti. Mi thit b l mt nhnh ring r trn browser. Tt c cc nh dng m thit b h tr c lit k di thit b . Mi nh dng mc nh ca thit b c hin th trong mt du ngoc. Chn nh dng thit b hoc file camera m bn mun thc hin s nhn din. khi chn nh dng, bn c th thit lp cc thng s v xem d liu ngay sau . Xem phn la chn thit b ca bn trang 3-5 c thm thng tin v cch s dng. Ca s preview: dng preview v thu nhn thu nhn d liu hnh nh t nh dng m bn la chn v xut d liu ra b nh thnh MAT file hoc vo mi trng MATLAB. Xem previewing and acquiring data trang 3-19 thm thng tin. Cc thng s acquisition (acquisition parameters): s dng tab ny ci t nhng thng s nhn din chung nh: s frame trn mt trigger v khng gian mu, thit b v cc thuc tnh ring, la chn ng nhp, v la chn trigger. Nhng ci t m bn thc hin trn tab s c p dng la chn nh dng thit b trong hardware browser. Xem phn setting acquisition parameter trang 3-8 thm thng tin. Bn cng c th s dng phn help bit chi tit. Khi bn click vo bt k tab mo, phn help s hin ln. Bng thng tin (information pane): th hin mt bng tm tt v cc node c la chn hardware browser. Phn help:hin th help cho nhng phn trn giao din m bn click vo.

LA CHN THIT B LA CHN MT THIT B V NH DNG Mc hardware browser hin th cc thit b ang kt ni vi h thng ca bn hin ti. Mi thit b hin th ring r trn mt vng ca browser. Tt c cc nh dng m thit b h tr c lit k di thit b . Kiu nh dng mc nh c hin th trong du ngoc. Thng tin v nh dng ca thit b c hin th di thit b c ly t apdator ca n. La chn nh dng thit b hoc file camera s dng cho vic nhn din bng cch click chut vo cc dng trn cy th mc. Sau khi thit b c la chn, bn c th ci t cc thng s ca vic nhn din v preview d liu ca bn ngay sau .

THM PHN CNG Khi bn m cng c nhn din hnh nh, hardware browser s t ng hin th cc thit b nhn din hnh nh h tr bi cng c ang kt ni vi h thng ca bn hin ti. Nu bn ghp thm mt thit b mi trong khi cng c nhn din hnh nh ang c m, ban chn tool refresh image acquisition hardware hin th thit b m bn mi thm vo ln cng c hardware browser. S DNG MT CAMERA FILE Nu thit b ca bn h tr s dng mt camera file, cng c th xem nh l mt file cu hnh thit b, bn c th la chn n di tn ca thit b trong hardware browser v d nh mt s grapper tr gip. Di tn ca thit b trong hardware browser, bn s thy dng thng bo click to add camera file nu thit b ca bn c h tr cho iu ny. s dng mt camera file: Ti hardware browser, click chut vo ngay di tn thit b, nay sau dng nhc click to add camera file hin ra Trong hp thoi ca tng file camera ring r, nh tn v ng dn ca camera file hoc click nt browser v chn a ch ca file sau OK Camera file sau s hin ln trn mt node ngay di tn thit b, ging nh danh sch cc nh dng khc nm ngay di thit b, ngay sau , bn c th ci t cc thng s nhn din, preview v thu nhn d liu.

CI T THNG S NHN DIN S DNG PANE THNG S NHN DIN Cng c cho php chng ta ci t trc tip cc thng s nhn din ti thanh desktop s dng pane acquisition parameter. Nhng ci t m bn thc hin s c cp nht ngay vo nh dng ca thit b trong hardware browser. Pane acquisition parameter bao gm cc tab sau: General: s dng ci t cc thng s nhn din chung nh l s lng frame trn mt trigger hay khng gian mu, v ci t vng a thch ROI (Region of Interest) nu bn mun s dng thuc tnh vng cho mt hnh nh no . Device property: dng xem hoc chnh sa mt s thuc tnh ring ca thit b Logging: s dng ci t la chn ng nhp nh l ch ng nhp, ci quyt nh rng d liu nhn c ca bn c ng nhp vo b nh, a hay c 2 cha. Nu bn mun xut ra file AVI, s dng la chn DISK LOGGING trn tab ny. Triggering: dng ci t la chn trigger, nh l s lng trigger v kiu trigger. Nu bn mun to mt trigger bng tay s dng nt nhn trigger, chn vo trigger type trn tab ny. thm thng tin, bn c th s dng phn help. CI T S LNG FRAME TRN MI TRIGGER Vng ci t s lng frame trn trigger nm tab general ci t s lng trigger m bn mun thc hin vic nhn din, Nu bn mun s nhn din l tng frame ring r cho tng trigger th mc nh ca n l 1, hoc s dng mi tn la chn s lng v kiu Nu bn mun nhn din mt cch lin tc cc frame, ci t frame per trigger khng gii hn v sau s dng nt stop acquisition dng vic nhn din hoc ci t bng tay cc trigger bng thanh triggering.

S lng frame s c nhn din khi bn bt u thc hin vic nhn din s ph thuc vo vic ci t trn vng frames per trigger trn thanh general v vng s lng trigger trn thanh triggering. V d, bn ci tn frame per trigger l 4 v number of trigger l 2 th tng cng c 8 frames c nhn din.

Lu rng khi bn ci t gi tr frame per trigger l v hn th bn s khng th ci t number of trigger trn thanh triggering. Lu : mt s thit b ch cho php bn ci t mt s lng frame nht nh hoc c th lun gi frame u tin, nu bn thay i number of trigger bn s phi thay i thm mt s ci t khc. CI T KHNG GIAN MU S dng khng gian mu trn thanh general ci t khng gian mu cho nh dng c la chn. vng return color space c 3 la chn: RGB, YCBCR, GRAYSCALE. Ci t mc nh khng gian mu ca thit b hin default. Bn c th s dng mi tn thay i ci t. Bn cnh , nu khng gian mu mc nh l grayscale, gi tr ca bayer s c gi tr ti vng return color space i vi mt s thit b v vung bayer sensor alingment s hin ln. S dng trnh n x dc la chn mt trong 4 sensor iu chnh. bit thm thng tin, xem phn chc nng bayersensoralignment. S DNG VNG A THCH Mc nh s nhn din ca bn s bao gm frame nguyn m thit b nhn ra, bng vi chnh xc ca nh dng m bn la chn. Nu bn ch mun nhn din mt s phn ca vng, s dng chc nng region of interest trn thanh general ci t vng mong mun. Ca s ROI (region of interest) xc nh kch thc thc ca frame ng nhp bi cng c c o t gc trn bn tri ca frame. CI T MT ROI Khng cn bt buc phi click vo nt start preview bt u preview t thit b ca bn. Chnh sa cc kch thc X-offset, Y-offset, chiu di, chiu cao ca vng ROI cho n khi bn t n vng mong mun. bn c th s dng mi tn hoc nh vo xc nh s lng vng. Nhng ci t ny s t ng cp nht trn ca s preview nu preview ang chy. Bt u nhn din vi nhng ci t ny. CI T CC THNG S RING R CA THIT B S dng tab device property xem hoc thay i cc thuc tnh ring r ca thit b. Thuc tnh no c chn s hin ln trn bng. Cc thuc tnh ring r ph thuc vo thit b ca bn.

Vng selected source l tn ngun ca thit b c la chn. Nhiu device apdator ch c mt cng input source, v th n s th hin bng input1, port 1, port 0 l mc nh. Nu thit b h tr nhiu cng source chng s c th hin bng mt trnh n x dc. S dng bng thuc tnh iu chnh cc thuc tnh: Nu thuc tnh no c biu tng hnh cy bt ch ngha l thuc tnh c th chnh sa c. Nu thuc tnh no c du mi tn th ngha l bn c th x dc trnh n la chn gi tr. Nu thuc tnh no c cc gi tr c xp thnh mt bng ngha l thuc tnh bn khng th chnh sa c Nhng thay i m bn thc hin trong bng device property s c p dng vo acquisition hoc preview, khi bn click ra bn ngoi bng ngha l bn ang chnh sa hoc enter. V d thay i sng cho camera ang s dng, bn chnh sa gi tr brightness sau click chut ra ngoi, lc ny thay i c cp nht, bn s thy thay i ngay trn ca s preview nu n ang chy hoc trong ln nhn din tip theo n s hin th khi bn nhn nt start acquisition. bit thm thng tin v thit b, bn c ti liu v thit b . LU V TC FRAME Nu frame rate c trn bng, c ngha l thit b ca bn c thuc tnh frame rate, v thng tin c c n t thit b ca bn, ng vi mi gi tr bn ci t, s c mt s lng frame trn mt giy. Nu thuc tnh frame rate khng xut hin trn bng, ngha l thit b ca bn khng h tr thuc tnh ny. NG NHP D LIU S dng tab logging

S dng vng logging to ni s nhn din ca bn s c ng nhp vo. Chn mt trong s nhng vng di y: Memory: d liu nhn din s ng nhp vo b nh, ngha l nu d liu nhn c bn mun save n hoc export th n s ng nhp vo b nh trong h thng ca bn v c gi tr trong sut ln nhn din . D liu nhn din s mt i nu bn thc hin mt s nhn din khc hoc bn ng cng c m khng xut d liu. y l ci t mc nh. DISK: d liu nhn c s ng nhp vo a ca bn di dng file AVI, trong mt vng xc nh ca DISK LOGGING. iu ny c ngha l d liu ca bn s nm trong sut phin nhn din. Khi bn chn DISk, vng disk logging s tr thnh vng c th chnh sa c v bn c th i n da ch cn n hoc tn ca file. DISK AND MEMORY: d liu nhn c s log vo c a v trong b nh ca bn. MEMORY LOGGING Nu bn la chn MEMORY hoc DISK AND MEMORY vng logging to, vng gii hn b nh s hin th dung lng b nh ang trng trong h thng ca bn. DISK LOGGING Nu bn la chn DISK hoc DISK AND MEMORY, vng disk logging s c th chnh sa c v bn c th to ng dn cho n. CI T TRIGGERING S dng tab triggering

Tng s frame c c khi bn bt u nhn din ty thuc vo ci t vng frame per trigger ti tab general v number of triggers ti tab triggering. CHN S LNG TRIGGER Nu bn mun thc hin mt s nhn din bao gm mt s lng hu hn cc frames, ci t gi tr number of trigger hoc s dng ci t mc nh l 1

Nu bn mun qun l vic bt u v kt thc s nhn din, bt chp s lng frames thu c, chn infinite. Vi mt s lng khng gii hn cc trigger bn c th stop vic nhn din bng tay bng cch nhn vo nt stop acquisition trn ca s preview. LA CHN KIU TRIGGER Ci t mc nh immediate ngha l khi bn nhn nt start acquisition th qu trnh nhn din s bt u ngay lp tc. Nu bn chnh sa ci t l manual, nt trigger s c kch hot trong mi trng preview, v bn dng n bt u s nhn din. iu chnh bng tay triggering: 1.Chn nh dng thit b v khng bt buc phi nhn start preview xem thit b 2.Khng cn ci t bt k thng s nhn din no stop qu trnh 3.Chn manual trn vng trigger type trn thanh trigeering 4.Click chn start acquisition ly phn hi trc tip t thit b Nt triger c kch hot trong ca s preview mi ln bt u nhn din. 5.nhn nt trigger khi bn mun ng nhp d liu Nu bn mun xc nh s lng trigger (khng v hn), sau s nhn din s ngng khi c s lng frame, ty vo s lng frame per trigger m bn ci t tab general Nu s lng trigger c ci t l v hn s dng nt stop acquisition ngng qu trnh nhn din Nu thit b ca bn h tr cho phn cng triggering, la chn cng s c hin th vng trigger type thc hin hardware triggering: La chn nh dng thit b v khng cn thit click vo nt start preview bt u. Khng cn phi ci t bt k thng s nhn din no ngng qu trnh Chn hardware trong phn trigger type ca tab triggering

Chn triggering source. Nhng ch dn v hardware source iu khin cc iu kin ca trigger. Khi tng iu kin ring r ca trigger condition gp nhau, trigger c thc thi v qu trnh nhn din bt u. trigger source l mt thit b ring, trnh n x dc s th hin b

phn ca tng thit b ring r sinh ra trigger. V d nh n c th l mt trong cc port 0, port 1 hoc optotrig v TTL La chn iu kin trigger. Cc iu kin ring ny phi c gp nhau thng qua trigger source trc khi mt s kin trigger xy ra. Trigger condition l ring r cho tng thit b. trnh n x dc s th hin iu kin m tng thit b dng sinh ra cc trigger. V d nh n c th l risingedge v fallingedge Chn start acquisition ly phn hi trc tip t thit b Khi cc iu kin trigger gp nhau, qu trnh nhn din xy ra Nu bn xc nh mt s lng trigger (khng v hn) th qu trnh nhn din s ngng khi c s lng frame ty thuc vo frame per trigger trong tab general Nu s lng trigger c ci t l v hn s dng nt stop acquisition ngng qu trnh nhn din PREVIEWING V ACQUIRING DATA Ca s preview Ca s preview dng hin th d liu hnh nh khi bn preview hoc thu nhn d liu.

S dng cc nt trong ca s preview :

Preview hnh nh ca bn. xem preview data trang 3-21 Thu nhn d liu (acquire). Xem acquiring data trang 3-21 Xut d liu. xem export data trang 3-26. Di vng hin th cc frame, bn s thy dng thng bo vi thng tin lin quan n tnh trng hin ti ca ca s. v d, trong hnh nh trn, dng text ch ra rng tt c cc frame thu nhn c d liu u hin th. Sau khi bn start hoc stop mt preview, dng text s bo rng cng c sn sng nhn d liu. Trong sut qu trnh nhn din, ng h ch thi gian chy s xut hin thng bo thi gian thc ca qu trnh nhn din. PREVIEW DATA preview d liu: 1.la chn thit b v nh dng trong hardware browser. 2.nhn nt start view test thit b 3.nu cn thit, chnh sa thit b t c hnh nh nh mong mun 4.ci t frames per trigger trn tab general v number of trigger trn thanh triggering 5.ci t cc thng s nhn din khc chnh sa cht lng hnh nh hoc cc yu t khc ca s nhn din By gi bn sn sng thc hin qu trnh nhn din ACQUIRING DATA acquire c d liu: 1.La chn thit b v nh dng trong hardware browser. Hardware browser hin th cc thit b hin ti ang kt ni vi h thng ca bn. Nu thit b bn mun s dng cha kt ni vi h thng, ni n vo v chn tool select image acquisition hardware hin th thit b mi ln trn hardware browser. Danh sch cc node di tn thit b l cc nh dng m thit b h tr. Chng c th tng thch c vi cc mc chnh xc v khng gian mu khc nhau hoc ch tng thch vi cc chun video khc nhau hoc vi cc cu hnh camera khc nhau. Nhng thng tin ny n t apdator ca thit b, la chn kiu nh dng m bn mun s dng. Xem select your device trang 3-5 2.s dng cng c preview test v ci t cho thit b bng cch nhn vo nt start preview. Nu cn thit, chnh sa thit b t c vng nh nh mong mun hoc s dng chc nng vng a thch trn thanh general ca pane acquisition parameters. Xem previewing data trang 3-21. 3.ci t frames per trigger trn thanh general v number of trigger trn thanh triggering ci t tng s frame cho qu trnh nhn din haowcj bn ng c th lm cng vic ny trong lc ang prviewing. Nu bn mun chp nhanh vo mt khung, ci t mc nh l 1 cho c 2 vng frame per trigger v number of trigger. Nh mt s la chn, bn c th ci t cng c s nhn din l lin tc v s dng nt start v stop trn ca s preview bt u v dng bng tay cho vic nhn din. 4.ci t bt k thng s nhn din no cn thit, bn cng c th thc hin n trong khi ang previewing. Xem setting acquisition parameter trang 3-8

5.La chn ch log, iu ny quyt nh n vic d liu nhn din s lu tr u. Trn tab logging, s dng thanh logging to xc nh vng lu d liu l memory, disk hay c 2. Kt qu logging trn disk s l mt file AVI. Nu bn chn l memory, bn c th xut d liu sau khi nhn din bng cch nhn nt export data trn ca s preview. Xem logging your data trang 3-13 6.bt u qu trnh nhn din bng cch nhn vo nt start acquisition Nu bn ci t trigger type ( tab triggering) l immediate, cng c s t ng logging d liu sau nhn din. Nu bn ci t l manual, nhn nt trigger nu bn mun logging. Xem setting up triggering trang 3-15. 7.ngng nhn din: Nu bn ci t frames per trigger l 1 hoc bt k con s no, s nhn din s ngng li khi t c y cc frame. Nu bn ci t l v hn (infinite) th nhn stop acquisition ngng qu trnh. Lu rng bn cng c th click vo stop acquisiton b qua mt s nhn din nu s lng frames l xc nh. Khi qu trnh nhn din stop, nu bn ci t log l memory hoc c disk v memory th ca s preview s hin th tt c hoc mt vi frames ca qu trnh nhn din. ca s c th hin th n 9 frames. Nu bn nhn c nhiu hn 9 frames, n s hin th cc frame thnh tng on ty thuc vo s lng frames. Dng text di nh s cho thy s lng frame ang c hin th, bn c th s dng du nhy ca con tr i n frame m bn mun xem nh trn hnh sau:

NU HNH NH L KHNG R RNG HOC TI Nu frame u tin hoc nhiu frame b m, ti hoc cht lng hnh nh khng r rng, camera ca bn cn c lm m ln trc khi tin hnh chp.

Bn c th cho php thit b ca bn m ln bng cch s dng manual triggering. iu ny cho php bn bt u qu trnh nhn din khi camera m ln v d liu m camera ly c l nh mong mun. s dng chc nng manual trigger, bn vo triggering trong phn acquisition parameter v chn manual trong vng trigger type. Xem select triggering type trang 3-16 EXPORTING DATA Bn c th xut d liu nhn c thnh mt MAT-file hoc a vo mi trng MATLAB xut d liu nhn c: 1.click vo nt export data trn ca s preview xut d liu gn nht nhn c log 2.trong hp thoi data exporter, chn MAT-file hoc MATLAB-workspace t list data destination. Trong vng variable name, t tn cho file sau nhn OK

4.nu bn xut d liu ra mi trng matlab, hp thoi t ng li v v d liu c lu trn trn mi trng matlab Nu bn xut d liu ra mt MAT-file, hp thoi MAT-file xut hin, chn a ch, tn v sau click SAVE Lu rng ch xut ra MAT-file hoc vo mi trng matlab, xut thnh file AVI bn phi la chn DISK thanh cng c logging trong vng acquisition parameter. LU CU HNH CNG C NHN DIN HNH NH Bn c th lu thng tin v cu hnh ca bt k nh dng thit b no ca bn. N bao gm tt c cc thng s nhn din m bn ci t trong vng acquisition parameter. Sau , khi bn quay li cng c, bn c th load cu hnh, v th bn s khng phi tn thi gian ci t li nhng thng s ny. lu mt cu hnh: 1.vo file Save Configuration

2.La chn cu hnh lu Hp thoi SAVE CONFIGURATION lit k ra nhng nh dng thit b ang c la chn, ging nh cc ci t m bn thc hin hardware browser. Tt c cc nh dng c la chn u l mc nh, ngha l cu hnh ca bn c lu. Nu bn mun khng lu mt thng s no , xa n khi danh sch.

3.click Save, hp thoi Save File m ra 4.g tn v nhn Save Cu hnh c lu vo cng c nhn din hnh nh (dng file IAT: image acquisition tool) vo a ch m bn xc nh Sau ny, bn c th m cu hnh lu bng cch chn file open configuration. Trong hp thoi open configuration , bn chn tn v a ch ca cu hnh m bn mun m lu trong cng c. Lu : bn cng c th xut ra thng tin cu hnh phn cng bng mt nh dng khc nh mt M-file hoc MAT-file, nhng dng c th truy nhp vo mi trng matlab. Xem export hardware configurations to matlab trang 3-30. EXPORTING HARDWARE CONFIGURATIONS TO MATLAB Bn c th xut object video input v nhng thng s c cu hnh ca n n mt la chn c nhiu nh dng hn. Sau , bn c th truy nhp vo object video trong mi trng matlab. xut mt hardware confiduration: 1.chn file export hardware configuration. Hp thoi object exporter c m ra

2.chn nh dng file t Object destination Matlab Workspace lu video input object vo mi trng ca n trong mt khong thi gian di ca phin lm vic. Sau ny bn phi lu n li mi khi thot khi mi trng matlab nu bn mun gi n. M-file ng ngha vi yu cu File generate M-file. N sinh ra mt M-file bao gm video input object v cc thng s cu hnh. sau ny, bn c th a M-file vo mt on code ca Matlab hoc cc project. MAT-file lu video input object v cc thng s cu hnh vo mt MAT-file. 3.quyt nh cu hnh no export Hp thoi Object Exporter lit k danh sch nhng nh dng thit b c la chn mc nh m bn la chn trong hardware browser, nu bn ly mt thng s no , bn c th xa n ra khi danh sch. 4.click Save Nu bn export ra mi trng matlab, ca s s t ng ng li. 5. nu bn la chn xut ra mt M-file hoc Mat-file, hp thoi export m ra, bn t tn v ch ng dn cho file sau click OK CHNG 4: KT NI VI PHN CNG kt ni vi mt thit b nhn din hnh nh t trong MATLAB, bn phi to ra mt video input object. Object ny th hin s kt ni gia thit b ca bn vi MATLAB LY THNG TIN PHN CNG (GETTING HARDWARE INFORMATION) LY THNG TIN PHN CNG: truy nhp vo mt thit b nhn din hnh nh, cng c s cn c nhiu thng tin: Tn ca apdator m cng c s dng kt ni vi thit b nhn din hnh nh. ID ca thit b m bn mun truy nhp vo Kiu video format ca dng video hoc file cu hnh thit b (camera file) Bn s dng chc nng imaqhwinfo truy xut nhng thng tin ny. Lu : khi s dng chc nng imaqhwinfo ly thng tin ca thit b, c bit l thit b s dng video for window (VFW) driver, bn s bt gp mt s hp thoi bo li xc nhn. Hy chc chn rng driver c ci t ng v thit b nhn din kt ni c vi my tnh. XC NH TN CA DEVICE APDATOR Mt Apdator l mt phn mm m cng c s dng giao tip vi mt thit b nhn din hnh nh thng qua driver ca n. Cng c bao gm nhiu apdator ca mt s nh cung cp thit b nhn din hnh nh v cc loi thit b nhn din hnh nh khc nhau. xc nh apdator no ang c gi tr vi h thng ca bn, gi chc nng imaqhwinfo. Chc nng imaqhwinfo quay li thng tin v phn mm cng c v lit k ra danh sch cc apdator c gi tr vi h thng ca bn trong vng INSTALLEDAPDATOR. Trong v d sau y, c 2 apdator c gi tr vi h thng: imaqhwinfo ans =

InstalledAdaptors: {'matrox' 'winvideo'} MATLABVersion: '7.4 (R2007a)' ToolboxName: 'Image Acquisition Toolbox' ToolboxVersion: '2.1 (R2007a)' Lu : cho d mi apdator c h tr bi cng c nhn din hnh nh c ci t vi cng c, nhng imaqhwinfo s ch lit k ra nhng nhng apdator trong vng installedapdator m c load vo. iu ny c ngha l, driver ca thit b c cung cp bi nh pht hnh phi ci t trong h thng ca bn. Lu , tuy nhin, s cha ng ca vng installedapdator l khng nht thit, c ngha l c c mt apdator no c ci t nhng vn khng c trong danh sch ca vng imaqhwinfo. XC NH ID CA THIT B Apdator gn mt gi tr duy nht vi mi thit b m n c th giao tip. Apdator s gn thit b u tin m n nhn ra ID 1, thit b th 2 m n nhn ra s l ID 2, tm thy ID ca mt thit b nhn din hnh nh ring bit, gi chc nng imaqhwinfo, xc nh tn ca apdator nh l yu cu duy nht. Khi c gi vi c php ny, imaqhwinfo quay li cu trc cha thng tin v tt c thit b c gi tr thng qua tng apdator ring r. Trong v d sau, chc nng imaqhwinfo quay v thng tin ca thit b c gi tr thng qua apdator MATROX info = imaqhwinfo('matrox'); info = AdaptorDllName: [1x73 char] AdaptorDllVersion: '2.1 (R2007a)' AdaptorName: 'matrox' DeviceIDs: {[1]} DeviceInfo: [1x1 struct] Vng trong cu trc c quay li bi chc nng imaqhwinfo cung cp cc thng tin sau: Vng ApdatorDLLName ApdatorDLLVersion ApdatorName DeviceIDs DeviceInfo M t Chui vn bn xc nh tn ca DLL apdator (dynamic link library) Thng tin v phin bn ca apdator DLL Tn ca apdator Bng cc bao gm IDs ca tt c thit b truy xut thng qua apdator ny Bng cu trc thng tin ca thit b

LY THM THNG TIN V MT THIT B RING Nu mt apdator cung cp ng dn n nhiu thit b, c th bn cn phi tm thm mt s thng tin v thit b trc khi quyt nh ID cho thit b. Vng Devideinfo l mt bng

cu truc thng tin v thit b. Mi cu trc thng tin thit b cha ng nhng thng tin chi tit ca ring mt thit b no kt ni thng qua apdator. xem thng tin ca mt thit b ring r, bn c th s dng ID nh mt mu tham chiu n bng cu trc deviceinfo. Gi chc nng imaqhwinfo mt ln na, lc ny xc nh ID bng mt yu cu: dev_info = imaqhwinfo('matrox',1) dev_info = DefaultFormat: 'M_RS170' DeviceFileSupported: 1 DeviceName: 'Orion' DeviceID: 1 ObjectConstructor: 'videoinput('matrox', 1)' SupportedFormats: {1x10 cell} Vng cu trc thng tin v thit b s cung cp cho bn nhng thng tin nh sau: Vng M t Default format Chui vn bn nhn dng nh dng ca video m thit b s dng Devicefilesupported Nu bn ci t l 1, thit b s h tr file cu hnh ca thit b, hoc 0. deviceName Chui vn bn m t, c gn bi apdator, ci ny dng nhn dng thit b. DeviceID ID c gn vo thit b bi apdator ObjectConstructor C php mc nh bn c th s dng to mt object video input din t v thit b SupportedFormats Cc chui bng dng xc nh nh dng video h tr bi thit b. XC NH NH DNG VIDEO H TR Cc format video xc nh c im ca nh trong dng video nh l chnh xc ca nh, tiu chun cng nghip c s dng v kch c ca kiu d liu c dng lu thng tin im nh. Cc thit b nhn din hnh nh thng thng h tr nhiu nh dng video. Bn c th xc nh nh dng video khi bn to ra mt object video input th hin s kt ni vi thit b. Xem create acquisition object trang 1-9 thm thng tin. Lu : vic xc nh nh dng video l khng cn thit, cng c s dng mt trong cc nh dng c h tr lm mc nh. quyt nh nh dng video no thit b c th h tr, nhn vo vng SupportedFormats ca cu trc DeviceInfo c gi t chc nng imaqhwinfo. xem c thng tin ca tng thit b ring r, gi imaqhwinfo xc nh ID thit b thng qua mt yu cu. dev_info = imaqhwinfo('matrox',1) dev_info = DefaultFormat: 'M_RS170' DeviceFileSupported: 1

DeviceName: 'Orion' DeviceID: 1 ObjectConstructor: 'videoinput('matrox', 1)' SupportedFormats: {1x10 cell} Vng DefaultFormat lit k ra nhng nh dng mc nh c chn bi cng c. Cng c gn tn vo cc nh dng ty thuc vo cc nh cung cp. Nu bn mun xc nh mt nh dng video khi bn to object nhn din hnh nh, bn phi s dng mt trong cc chui vn bn trn bng cu trc. Xem create image acquisition object trang 4-9 bit thm thng tin. celldisp(dev_info.SupportedFormats) ans{1} = M_RS170 ans{2} = M_RS170_VIA_RGB ans{3} = M_CCIR ans{4} = M_CCIR_VIA_RGB ans{5} = M_NTSC ans{6} = M_NTSC_RGB ans{7} = M_NTSC_YC ans{8} = M_PAL ans{9} = M_PAL_RGB ans{10} = M_PAL_YC CREATING IMAGE ACQUISITION OBJECT KIU OBJECT Sau khi bn bit thng tin v phn cng nhn din hnh nh, bn c th xy dng kt ni cho thit b bng cch to ra mt object nhn din hnh nh. Cng c s dng 2 kiu object: Video input object (object vo) Video source object (object ngun) VIDEO INPUT OBJECT Mt video input object th hin s kt ni gia MATLAB v thit b nhn din hnh nh cp cao. Bn phi to ra mt video input object s dng chc nng VideoInput. Xem creating a video input object trang 4-10 thm thng tin. VIDEO SOURCE OBJECT

Khi bn to mt video input object, cng c t ng to mt hoc nhiu video source object lin kt vi video input object. Mi video source object th hin mt s la chn ca mt hoc nhiu d liu ngun c x l nh l mt i tng ring l. S lng object ngun m cng c to ra ty thuc vo thit b v nh dng video m bn xc nh. Ti mi mt thi im, ch c mt object video ngun, gi l ngun c selected, c th c kch hot. y l ngun c s dng nhn din. Cng c la chn mt trong cc object ngun lm mc nh nhng bn c th thay i la chn mc nh . Xem specify the selected video source object trang 4-15 thm thng tin. Hnh nh di y m t cch m mt object hot ng nh mt thit b cha mt hoc nhiu object video source.

Mi quan h gia video input v video ngun V d, mt b ot khung matrox c th h tr 8 cng kt ni, ci m Matrox gi l cc knh. Nhng knh ny c th c cu hnh theo nhiu cch, ty thuc vo nh dng video. Nu bn xc nh mt nh dng en trng nh l RS170, cng c to ra 8 object ngun, mi object dnh cho mt knh ca thit b. Nu bn xc nh nh dng mu nh l NTSC RGB, Matrox s dng 3 knh th hin mt kt ni RGB bao gm d liu RED, d liu GREEN v d liu BLUE. Vi nh dng ny, cng c ch c th to ra 2 object video ngun cho cng mt thit b. TO RA MT VIDEO INPUT OBJECT to ra mt video input object, gi chc nng videoinput ring cho tng tn ca apdator, ID v nh dng video. Bn truy xut nhng thng tin ny thng qua chc nng imaqhwinfo. Yu cu duy nht bt buc l tn apdator. Cng c c th s dng gi tr mc nh cho ID v video format. V d sau to ra mt video input object th hin s kt ni gia Matrox v thit b. Chc nng imaqhwinfo bao gm cc c php videoinput mc nh trong objectconstructor ca cu trc thng tin thit b. vid = videoinput('matrox'); c php s dng nh dng video mc nh lit k trong vng defaultformat ca d liu ly v t imaqhwinfo. Bn c th khng nht thit phi xc nh nh dng video. XEM BNG TM TT CC VIDEO INPUT OBJECT xem bng tm tt cc c im ca video input object m bn to ra, nhp gi tr tn m bn gn cho object dng command. V d sau y l bng tm tt cho object VID

Vid

Cc mc trn bng ph hp vi s lng cc phn t trong mt bng tm tt. 1.tn ca bng bao gm tn ca thit b nhn din hnh nh m object th hin. nh v d n l Matrox Orion 2.phn acquisition source lit k ra tt c cc object source lin kt video input object ny. Trong nhiu object, danh sch ny ch c mt object source. Trong v d, Matrox h tr 8 knh input v vi nh dng video, cng c to ra 1 video source object cho mi kt ni. 3.phn acquisition parameters kiu trigger cu hnh cho object v s ln m trigger c thc hin. Hot ng ca trigger bt u logging d liu v cng c h tr cho nhiu trigger. Trong v d c cu hnh mc nh s dng trigger immediate. 4.phn Status lit k ra tnh trng hin ti cu object. Mt video input object c th tn ti mt trong cc trng thi: Running or not running Logging or not logging Previewing or not previewing Trong v d, dng status din t waiting for start, ngha l not running. XC NH NH DNG VIDEO Bn c th khng bt buc xc nh nh dng video khi bn to video input object nh l mt yu cu th 3 trong chc nng videoinput. Yu cu ny c th 2 dng: Mt chui vn bn xc nh nh dng video Tn ca file cu hnh thit b cng c th xem l camera file Phn tip theo din t nhng la chn ny. Nu bn khng xc nh nh dng video, chc nng videoinput s t ly mc nh. Vi Matrox v thit b truyn d liu, n chn RS170. Vi thit b windows, n s dng nh dng RGB trc, nu thit b khng h tr, n chn mc nh.

S DNG CHUI NH DNG VIDEO xc nh nh dng video bng mt chui vn bn, s dng chc nng imaqhwinfo ly danh sch cc nh dng c h tr. Trong v d ny, mi chui vn bn l mt nh dng video c h tr bi Matrox info = imaqhwinfo('matrox'); info.DeviceInfo.SupportedFormats ans = Columns 1 through 4 'M_RS170' 'M_RS170_VIA_RGB' 'M_CCIR' 'M_CCIR_VIA_RGB' Columns 5 through 8 'M_NTSC' 'M_NTSC_RGB' 'M_NTSC_YC' 'M_PAL' Columns 9 through 10 'M_PAL_RGB' 'M_PAL_YC' Vi thit b Matrox, cng c s dng RS170 lm mc nh. Lu : vi thit b Matrox, chui nh dng M_NTSC_RGB th hin mt nh dng video chc nng. V d sau to mt video input object s dng nh dng video mu vid2 = videoinput('matrox', 1,'M_NTSC_RGB'); S DNG FILE CU HNH THIT B (CAMERA FILE) Vi mt s thit b, bn c th s dng mt file cu hnh thit b, cn gi l camera file, xc nh nh dng video ging nh l cc ci t cu hnh khc. Nh cung cp thit b nhn din hnh nh s cung cp file cu hnh ny. Lu : cng c b qua cu hnh trigger phn cng bao gm mt file cu hnh thit b. cu hnh cho mt hardware trigger, bn phi s dng chc nng triggerconfig. Xem v d using a hardware trigger trang 5-16. V d vi Matrox grapper frames, bn c th download cu hnh s ha (DCF file). File ny cu hnh cho cc thit b s dng cho tng camera. Mt s nh cung cp thit b cung cp cc chng trnh tin ch bn c th t to ra mt file cu hnh thit b hoc sa cha file c sn. Xem ti liu m nh pht hnh cung cp cho bn bit thm thng tin. quyt nh thit b ca bn h tr file cu hnh, kim tra gi tr ti vng devicefilesupported trong chc nng imaqhwinfo. Xem getting more information about particular device trang 4-5 thm thng tin. Khi bn s dng mt file cu hnh thit b, gi tr ca thuc tnh videoformat ca object video input l tn ca file, khng phi l mt chui nh dng video. V d sau to ra mt video input object xc nh mt file cu hnh thit b Matrox bng mt yu cu:

XC NH VIDEO OBJECT SOURCE C LA CHN Khi bn to ra mt video input object, cng c to ra mt hay nhiu video source, s lng video source object ty thuc vo thit b ca bn. thuc tnh Source lit k ra nhng video source object minh ha, v d sau y lit k ra danh sch nhng video source object dnh cho video input object VID get(vid,'Source') Display Summary for Video Source Object Array: Index: SourceName: Selected: 1 'CH0' 'on' 2 'CH1' 'off' 3 'CH2' 'off' 4 'CH3' 'off' 5 'CH4' 'off' 6 'CH5' 'off' 7 'CH6' 'off' 8 'CH7' 'off' Theo mc nh, object video input to video source object u tin cho bng selected source. s dng mt video source object khc, thay i gi tr ca thuc tnh selectedsourcename V d sau thay i gi tr t CH0 thnh CH1 bng cch ci t gi tr cho thuc tnh SelectedSourceName. vid.SelectedSourceName = 'CH1'; lu : chc nng getselectedSource quay li object source m bn la chn khi chc nng ny c gi ra. Nu bn thay i gi tr thuc tnh selectedSourceName bn phi gi chc nng GetSelectedSource mt ln na cp nht gi tr mi cho video source object.

LY THNG TIN V VIDEO INPUT OBJECT Sau khi to mt video input object, bn c th ly thng tin v thit b bng cch s dng chc nng imaqhwinfo out = imaqhwinfo(vid) out = AdaptorName: 'winvideo' DeviceName: 'IBM PC Camera' MaxHeight: 96 MaxWidth: 128 NativeDataType: 'uint8' TotalSources: 1 VendorDriverDescription: 'Windows WDM Compatible Driver' VendorDriverVersion: 'DirectX 9.0' THUC TNH CU HNH OBJECT NHN DIN HNH NH V THUC TNH OBJECT NHN DIN HNH NH Video input object v video source object l nhng thuc tnh h tr c th cho php bn kim sot c c im ca hnh nh v cch c c n. Thuc tnh video input object qun l cc kha cnh c tnh cht chung i vi tt c cc thit b nhn din hnh nh. V d, bn c th s dng thuc tnh framesPerTrigger xc nh ln ca d liu m bn mun nhn c. Thuc tnh video source object gip bn kim sot cc kha cnh lin quan n cc ngun ring r. Nhng ci t ca thuc tnh ny h tr bi cc object ngun khc nhau cho tng thit b. v d, mt s thit b nhn din h tr cc thuc tnh cho php bn kim sot cht lng hnh nh c xut ra, v d nh sng (brightness), mu sc (hue), s bo ha (sarturation). Vi mi kiu object, bn c th s dng cng c chc nng nh nhau : 1.lit k danh sch nhng thuc tnh c h tr bi object v gi tr hin ti ca chng. 2.xem gi tr ca tng thuc tnh ring r 3.ly thng tin t cc thuc tnh ny. 4.ci t gi t cho thuc tnh Lu : 3 video input object kch hot nhng thuc tnh nhn c s dng mt chc nng cu hnh c bit. thm thng tin, xem setting trigger properties trang 4-23. Xem xt cc gi tr ca cc thuc tnh ca object xem tt c cc thuc tnh ca object nhn din hnh nh, cng vi gi tr hin ti ca n, s dng chc nng get. Bn cng c th s dng chc nng inspect xem dang sch cc thuc tnh ca object v chnh sa gi tr ca n trong ca s property inspector.

V d sau s dng chc nng get ly danh sch cc thuc tnh ca video input object mang tn VID. Xem phn viewing the properties of a video source object bit cch thc hin tng t i vi video source object. Nu bn khng xc nh gi tr quay v, chc nng get s trnh by thng tin theo 4 mc: general settings, callback function settings, trigger settings, v acquisition source. get(vid) General Settings: DeviceID = 1 DiskLogger = [] DiskLoggerFrameCount = 0 EventLog = [1x0 struct] FrameGrabInterval = 1 FramesAcquired = 0 FramesAvailable = 0 FramesPerTrigger = 10 Logging = off LoggingMode = memory Name = M_RS170-matrox-1 NumberOfBands = 1 Previewing = off ReturnedColorSpace = grayscale ROIPosition = [0 0 640 480] Running = off Tag = Timeout = 10 Type = videoinput UserData = [] VideoFormat = M_RS170 VideoResolution = [640 480] Callback Function Settings: ErrorFcn = @imaqcallback FramesAcquiredFcn = [] FramesAcquiredFcnCount = 0 StartFcn = [] StopFcn = [] TimerFcn = [] TimerPeriod = 1 TriggerFcn = [] Trigger Settings: InitialTriggerTime = [0 0 0 0 0 0] TriggerCondition = none

TriggerFrameDelay = 0 TriggerRepeat = 0 TriggersExecuted = 0 TriggerSource = none TriggerType = immediate Acquisition Sources: SelectedSourceName = CH0 Source = [1x8 videosource] Viewing the properties of a video source object xem cc thuc tnh h tr bi video source object c lin kt vi mt video input object, s dng chc nng getselectedsource truy xut video source object c la chn. v d sau lit k danh sch cc thuc tnh h tr bi video source object c lin kt vi video input object mang tn VID. Lu , n bao gm cc thuc tnh ca cc thit b ring r. Lu , video source object dnh cho thit b ca bn c th khng bao gm cc thuc tnh thit b ring r. V d, thit b lin kt vi winvideo apdator, nh cc webcam s dng mt video for windows (VFW) driver, c th khng cung cp ng dn cho cng c yu cu chng trnh t ng cho cc thuc tnh ca thit b. S dng cc cng c cu hnh c cung cp bi nh sn xu cu hnh cho nhng thit b ny. get(getselectedsource(vid)) General Settings: Parent = [1x1 videoinput] Selected = on SourceName = CH0 Tag = Type = videosource Device Specific Properties: InputFilter = lowpass UserOutputBit3 = off UserOutputBit4 = off XScaleFactor = 1 YScaleFactor = 1 S dng gi tr thuc tnh ring xem gi tr thuc tnh ring ca mt object nhn din hnh nh, s dng chc nng get s dng tn ca thuc tnh nh mt yu cu. bn cng c th truy cp gi tr thuc tnh m bn mun trong mt vng ca cu trc MATLAB. V d ny s dng chc nng get truy xut gi tr ca thuc tnh preview. get(vid,'Previewing') ans =

off V d ny dng minh ha, cch bn truy nhp vo nhng thuc tnh ging nhau bng s tham chiu ln mt object nu nh n l mt cu trc MATLAB vid.Previewing ans = off Ly thng tin v thuc tnh ca object ly thng tin v thuc tnh, bn c th xem trang tham kho v thuc tnh chng 13, property-by category v chng 14 properties-alphabetical list. Bn cng c th ly thng tin v mt thuc tnh ring ti dng command bng chc nng propinfo hoc imaqhelp. Chc nng propinfo quay li cu trc cha cc thng tin v thuc tnh nh kiu d liu, gi tr mc nh, v danh sch cc gi tr c th thay i c nu thuc tnh c h tr trong danh sch. V d sau s dng chc nng propinfo ly thng tin v thuc tnh loggingMode. propinfo(vid,'LoggingMode') ans = Type: 'string' Constraint: 'enum' ConstraintValue: {'memory' 'disk' 'disk&memory'} DefaultValue: 'memory' ReadOnly: 'whileRunning' DeviceSpecific: 0 Chc nng propinfo quay li cc thng tin tham chiu v thuc tnh vi mt s din t hon chnh. V d sau s dng chc nng imaqhelp ly thng tin v thuc tnh LoggingMode. imaqhelp(vid,'LoggingMode') Ci t gi tr ca mt thuc tnh OBJECT ci t gi tr ca mt thuc tnh ring ca object nhn din hnh nh, s sng chc nng set, xc nh tn ca thuc tnh nh l mt yu cu. Bn cng c th gn gi tr cho thuc tnh m bn mun trong mt vng ca MATLAB. Lu : v c mt s thuc tnh l ch c (read only), ch c mt nhm ph ca tt c thuc tnh ca video input v thuc tnh ca video source mi c th ci t c. V d sau s dng chc nng set ci t thuc tnh cho LoggingMode set(vid,'LoggingMode','disk&memory')

thay i gi tr mi cho thuc tnh, s dng chc nng get get(vid,'LoggingMode') ans = disk&memory V d ny ci t gi tr ca mt thuc tnh bng cch gn gi tr cho thuc tnh nu n ang tn ti trong mi trng MATLAB vid.LoggingMode = 'disk'; vid.LoggingMode ans = disk Xem xt danh sch cc thuc tnh c th chnh sa c ly danh sch cc thuc tnh c th chnh s c ca video input pbject v video source object, s dng chc nng set Set(vid)

Ci t thuc tnh trigger

Cc gi tr hin hnh ca thuc tnh trigger, TriggerType, TriggerCondition, v TriggerSource l c lin quan vi nhau. V d, mt s gi tr TriggerCondition ch c hiu la i vi cc TriggerType ring. chc rng bn ch c mt cp gi tr c hiu la lin kt vi nhau, bn phi s dng 2 chc nng: Chc nng TriggerInfo quay li tt c cc kt ni c hiu lc ca gi tr video input object ring. Chc nng TriggerConfig ci t gi tr cho nhng thuc tnh ny. thm thng tin, xem specifying Trigger Type, Source and Condition trang 5-6 Starting and stopping a video input object Khi bn to ra mt video input object, bn thit lp mt s lin kt gia MATLAB v thit b nhn din hnh nh. Tuy nhin, trc khi bn c th nhn c d liu t thit b, s dng chc nng start start(vid); Khi bn khi ng mt object, bn dng ring thit b cho mc ch s dng ca bn v kha cu hnh. Nh vy, cc thuc tnh s tr thnh read only khi chy. Mt object nhn din hnh nh ngng chy khi c bt c gi tr no trong s sau gp nhau: 1.FramesAcquired = FramesPerTrigger * (TriggerRepeat + 1) Framesacquired, framespertrigger v TriggerRepeat l cc thuc tnh ca video input object. bit thm thng tin v nhng thuc tnh ny, xem chng 5 acquring video data 2.xy ra mt li run-time 3.gi tr Timeout ca object c t n 4.bn kch hot chc nng stop Khi mt object c bt u, cng c ci t gi tr ca thuc tnh running ln on. Khi mt object khng chy, cng c ci t gi tr cho thuc tnh running thnh off, tnh trng ny gi l b dng. Hnh sau din t mt object chuyn t trng thi running sang stopped nh th no

V d sau minh ha cho vic khi ng v dng mt object

1. To mt object nhn din hnh nh: v d ny to ra mt video input object cho thit b nhn din l webcam. chy v d ny trn h thng ca bn, s dng chc nng imaqhwinfo ly cu trc ca object cho thit b nhn din hnh nh ca bn v thay th bng c php ca on code sau: vid = videoinput('winvideo',1); 2. Kim tra xem thit b c ang trong trng thi dng hay khng, s dng chc nng isrunning xem tnh trng hin ti ca video input object. isrunning(vid) ans = 0 3. Cu hnh cho cc thuc tnh. minh ha cho tnh trng ca object, ci t gi tr cho thuc tnh triggertype l manual. ci t gi tr cho thuc tnh ny, bn phi s dng chc nng triggerconfig. Xem setting the values of trigger property trang 5-6 thm thng tin triggerconfig(vid, 'Manual') Ci t cu hnh cho mt s nhn din mt nhiu giy v vy bn c th xem tnh trng logging ca video input. 4. Khi ng mt object nhn din hnh nh: gi chc nng start start(vid) 5. Kim tra rng hnh nh l ang chy nhng khng logging, s dng chc nng isrunning v islogging bit tnh trng hin ti ca object video input. Vi manual trigger, object s chy sau khi c khi ng nhng khng logging cho n khi mt trigger thc thi. isrunning(vid) ans = 1 islogging(vid) ans = 0 6. Thc hin trigger manual: gi chc nng trigger thc hin trigger manual trigger(vid) Trong lc ang thc hin qu trnh nhn din, kim tra trng thi logging ca video input object

islogging(vid) ans = 1 Sau khi n nhn c mt s lng frames xc nh, video input object s ngng chy isrunning(vid) ans = 0 7. Lm sch d liu Lun lun xa cc object nhn din hnh nh t b nh v cc gi tr tham chiu n khi bn khng cn n n na delete(vid) clear vid XA OBJECT NHN DIN HNH NH Sau khi bn s dng xong object nhn din hnh nh ca mnh, s dng chc nng delete xa n ra khi b nh. Sau khi xa n, bn cng lm sch lun cc gi tr tham chiu cho n t mi trng matlab bng chc nng clear Lu : khi bn xa video input object, cc video source object cng s b xa theo n. minh ha, v d sau y s to ra rt nhiu video input object v sau xa chng. 1.to ra nhiu object nhn din hnh nh: v d to ra rt nhiu object nhn din hnh nh vi ch mt camera, xc nh nhiu nh dng video khc nhau. chy v d ny trn h thng ca bn, s dng chc nng imaqhwinfo ly cu trc thng tin thit b nhn din hnh nh ca bn v thay th chng vo c php ca dng lnh sau: vid = videoinput('winvideo',1); vid2 = videoinput('winvideo',1,'RGB24_176x144'); vid3 = videoinput('winvideo',1,'YV12_352x288'); 2.clear up: bn c th xa tng object nhn din hnh nh cng, s dng chc nng delete delete(vid) bn cng c tht xa tt c video input object cn st li trong b nh bng mt ln gi chc nng delete v s dng chc nng imaqfind. Chc nng imaqfind s phn hi mt bng cc object cn ang tn ti trong b nh. imaqfind Video Input Object Array:

Index: Type: Name: 1 videoinput RGB555_128x96-winvideo-1 2 videoinput RGB24_176x144-winvideo-1 3 videoinput YV12_352x288-winvideo-1 Gn thng tin ca chc nng imaqhfind vo chc nng delete xa nhiu object. delete(imaqfind) Lu n cc gi tr lin kt vi cc object vn cn trong mi trng lm vic. whos Name Size Bytes Class vid 1x1 1120 videoinput object vid2 1x1 1120 videoinput object vid3 1x1 1120 videoinput object vids 1x3 1280 videoinput object Nhng gi tr ny khng cn hiu lc i vi object nhn din hnh nh. isvalid(vid) ans = 0 xa nhng gi tr ny khi mi trng lm vic, s dng cu lnh clear LU OBJECT NHN DIN HNH NH S dng lnh Save Bn c th lu mt video input object cng vi cc gi tr ca n mi trng lm vic ca n bng lnh Save. V d sau lu object VID thnh mt MAT-file mang tn myvid.mat save myvid vid Khi bn lu mt video input object, tt c cc gi tr video source object lin quan vi n cng c lu li load li mt object lu thnh MAT-file, bn s dng chc nng load. V d: load myvid Cc thuc tnh c gi tr read-only s khng c lu li. Khi bn load mt MAT-file, cc thuc tnh read-only s quay v gi tr mc nh ca n. bit thuc tnh no l read-only, bn s dng chc nng propinfo

S DNG LNH OBJ2MFILE Mt cch khc bn c th lu object nhn din hnh nh l s dng lnh OBJ2MFIEL. Khi s dng lnh ny n s to ra mt M-file vi tt c cc cu hnh c thit lp. Khi bn load li file ny, n s t ng to ra mt object nhn din hnh nh mi s dng cc thuc tnh c ca file c nu file ny c tn ti v c cng nh dng cng nh apdator. D LIU NHN DIN HNH NH DATA LOGGING Tng quan Khi mt trigger din ra, cng c s t ng set gi tr thuc tnh logging thnh on v bt u lu d liu nhn din vo mt vng nh m trn memory, disk file hoc c 2. Khi qu trnh kt thc, gi tr thuc tnh logging s t ng v off. V d sau y minh ha khi no mt object s chuyn sang trng thi logging v mi quan h gia running v logging.

Cc thuc tnh Trigger Video input object h tr nhiu thuc tnh m bn c th s dng cu hnh cho nhiu kha cnh khc nhau hot ng ca trigger. Mt s thuc tnh s phn hi v thng tin ca cc trigger. V d, bn mun xem khi no th trigger din ra, nhn vo gi tr ca thuc tnh initialtriggertime. Mt s thuc tnh khc cho php bn kim sot s hot ng ca trigger. V d, bn c th s dng thuc tnh triggerrepeat xc nh bao nhiu ln b sung mt object m trigger thc hin. Bng sau s m t mt cch vn tt cc thuc tnh c lin quan ca trigger c h tr bi video input object Thuc tnh M t initialtriggertime Bo co v thi gian tuyt i khi trigger hot ng Triggercondition Xc nh cc iu kin no nht thit phi gp nhau trigger hot ng. Thuc tnh ny lun c set gi tr none i vi immediate v manual trigger

Triggerfcn Xc nh chc nng callback thc hin khi trigger din ra Triggerframedelay Xc nh s lng frames cn c gi trc khi logging vo memory, disk hoc c 2. Triggerrepeat Xc nh s ln b sung thc hin mt trigger. Nu gi tr ny l 0, trigger s thc hin nhng khng lp li ln no. Triggerexecuted Bo co v s lng trigger ang thc hin Trigger source Xc nh ngun kim sot cc iu kin ca trigger gp nhau. Gi tr ny lun c set none i vi c immediate v manual trigger Trigger type Xc nh kiu trigger immediate, manual hay hardware. S dng chc nng triggerinfo xc nh iu kin m thit b ca bn c h tr cho hardware trigger CI T GI TR CHO CC THUC TNH CA TRIGGER V cc thuc tnh ca trigger Hu ht cc gi tr thuc tnh ca trigger u c ci t theo cch ging nhau. S dng chc nng set, hoc tham chiu thuc tnh vi mt cu trc vng. V d, bn c th s dng chc nng set ci t gi tr cho thuc tnh triggerrepeat ni m object vid c to ra s dng chc nng videoinput. set(vid,'TriggerRepeat',Inf) Tuy nhin, vi mt s thuc tnh trigger l ph thuc vi nhau nn bn phi s dng chc nng triggerconfig ci t chng thnh tng cp. Nhng thuc tnh ny l: triggertype, triggercondition v triggersource. V d, mt s gi tr ca thuc tnh trigger condition ch c hiu lc vi thuc tnh triggertype l hardware Xc nh triggertype, source v condition Vic ci t cc gi tr ca thuc tnh triggertype, source v condition c thc hin qua 2 bc: Xc nh cu hnh c hiu lc i vi nhng thuc tnh ny bng cch s dng chc nng triggerinfo Ci t gi tr nhng thuc tnh ny bng cch goi chc nng triggerconfig Xem v d: using a hardware trigger thm thng tin. Xc nh cc cu hnh c hiu lc tm tt c cc cu hnh c hiu lc i vi thuc tnh triggertype, source v condition, s dng chc nng triggerinfo vi yu cu l mt video input object config = triggerinfo(vid); Chc nng ny phn hi v bng cu trc mi cu trc c hiu lc kt ni vi nhiu gi tr thuc tnh. V d: TriggerType: 'immediate' TriggerCondition: 'none'

TriggerSource: 'none' Mt thit b h tr nhiu cu hnh phn cng s cho kt qu nh sau: TriggerType: 'hardware' TriggerCondition: 'risingEdge' TriggerSource: 'TTL' Cu hnh cho thuc tnh triggertype, source v condition S dng chc nng triggerconfig. Bn xc nh gi tr ca thuc tnh nh l mt yu cu triggerconfig(vid,'hardware','risingEdge','TTL') Nu trigger l manual, bn ch cn xc nh bn ch cn xc nh gi tr ca n nh l mt yu cu. triggerconfig(vid,'manual') Bn cng c th thng qua chc nng triggerinfo xc nh gi tr v s dng chng trong mt cu lnh triggerconfig triggerconfig(vid, config(1)) Xc nh kiu trigger So sng gia cc kiu trigger Triggertype Gi tr ca source v M t condition Immediate none Trigger din ra mt cch t ng ngau sau khi chc nng start c gi. y l kiu trigger mc nh Manual none Trigger thc thi khi bn gi chc nng trigger. Vi mt trigger manual bn c th kim sot c nhiu hn cc thng tin v ton b qu trnh nhn din. Hardware Ty thit b Hardware trigger l nhng tn hiu ngoi c thc hin trc tip bng phn cng. kiu trigger ny c s dng khi ng b vi mt s thit b nhn din c yu cu v tc . Mt trigger hardware c th x l tn hiu vo nhanh hn nhanh hn software Lu : ch mt s thit b h tr trigger hardware.

You might also like