You are on page 1of 53

Bo co n tt nghip

2011

Mc lc
Chng 1: Gii thiu bi ton ..................................................................................................................4 1.1. Gii thiu bi ton Xy dng phn mm gim st v cnh bo ...................................................4 Ni dung ...............................................................................................................................4 Mc ch...............................................................................................................................4 Chc nng ............................................................................................................................5

1.1.1. 1.1.2. 1.1.3. 1.2.

Gii php v m hnh ...................................................................................................................5 Kho st cc h thng gim st hin c................................................................................5 M hnh bi ton ..................................................................................................................7

1.2.1. 1.2.2.

Chng 2: K thut v cng ngh ............................................................................................................9 2.1. Cng ngh Java ............................................................................................................................9 Gii thiu v cng ngh Java ...............................................................................................9 u im , nhc im ca Java ...........................................................................................9 Nhng h tr ca Java........................................................................................................10 Cng ngh Java trong lp trnh in thoi di ng (J2ME) ...............................................11 L do s dng Java xy dng n ..............................................................................12

2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.2.

Thut ton pht hin chuyn ng .............................................................................................12 M t thut ton..................................................................................................................12 Biu din thut ton............................................................................................................13 nh gi thut ton ............................................................................................................15 So snh vi cc thut ton khc .........................................................................................16

2.2.1. 2.2.2. 2.2.3. 2.2.4. 2.3.

Thut ton nng cao (p dng cho vng pht hin) ...................................................................17

Chng 3: Thit k chng trnh ...........................................................................................................20 3.1. 3.2. Cc module ca chng trnh ....................................................................................................20 Ci t chng trnh ...................................................................................................................21 Ci t thut ton pht hin chuyn ng ..........................................................................21 M hnh cc lung x l ....................................................................................................30 Ci t lung x l d liu .................................................................................................32 Ci t lung x l Server..................................................................................................33 Ci t lung x l kt ni gia Server Mobile ..............................................................36 Ci t lung x l chy trn in thoi di ng ...............................................................37

3.2.1. 3.2.2. 3.2.3. 3.2.4. 3.2.5. 3.2.6.

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

3.2.7. 3.2.8.

Ci t lp ghi d liu ........................................................................................................41 Ci t lp hin th d liu .................................................................................................42

Chng 4: Th nghim v nh gi .......................................................................................................43 4.1. 4.2. 4.3. Giao din chng trnh...............................................................................................................43 Th nghim chng trnh...........................................................................................................47 nh gi kt qu.........................................................................................................................49 nh gi v chc nng ......................................................................................................49 nh gi tnh logic .............................................................................................................49 nh gi hiu nng.............................................................................................................50

4.3.1. 4.3.2. 4.3.3.

Chng 5: Kt lun v hng pht trin ...............................................................................................51 5.1. 5.2. Kt lun ......................................................................................................................................51 Hng pht trin ........................................................................................................................51 B xung tnh nng, thut ton nng cao .............................................................................51 Cng c thit k..................................................................................................................52 Hng cnh bo khc .........................................................................................................52

5.2.1. 5.2.2. 5.2.3.

Ti liu tham kho ...................................................................................................................................53

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

Li ni u
Ngy nay vi s pht trin vt bc ca cc ngnh khoa hc k thut ni chung v ngnh cng ngh thng tin ni ring, cuc sng ca con ngi chuyn sang mt thi i mi - thi i cng ngh ha. Vi vic ng dng khoa hc cng ngh vo i sng x hi, i sng con ngi ang dn c ci thin v nng cao mt cch ng k Trong vic gim st an ninh, trc kia, chng ta phi b tr nhn lc gim st trc tip. Th nhng ngy nay, cng vic an ninh c cng ngh ha, gim bt i hi v nhn lc. Con ngi c thay th bng cc h thng camera gim st t ti nhng v tr ch nh lin tc thu hnh v gi v h thng my ch cho ngi gim st theo di. Nh vy m khng cn phi b tr nhiu nhn lc ti nhiu a im gim st m bt c ni u, bt c lc no ngi ta cng c th theo di c qua h thng camera ca mnh. H thng gip cho nhng nh qun l va kim sot cng vic mt cch cht ch hn, va tit kim c chi ph thu nhn cng bo v, m li lm cho hnh nh ca doanh nghip, c nhn c chuyn nghip, hin i hn. Nu c bt k s c no xy ra, h thng camera an ninh s ghi li, t lm t liu bng chng tm ra c nguyn nhn v khc phc hu qu vn . H thng cn gip tng cng cng tc bo mt, an ton an ninh, phng chng s xm nhp bt hp php ca k gian Tuy nhin, h thng camera gim st hin nay cn tn ti mt s nhc im nh: h thng tuy thc hin gim st nhng cha c chc nng t ng cnh bo cho ngi gim st. Bi vy, ngi gim st vn lun phi theo di mn hnh h thng 24/24h pht hin v ch ng trnh cc ri ro c th xy n. Nhm gp phn nng cao cht lng h thng gim st, ti quyt nh nghin cu xy dng n tt nghip vi ti: Xy dng phn mm gim st v cnh bo da trn k thut pht hin chuyn ng. Trong qu trnh nghin cu v pht trin ti nhn c s gip v hng dn tn tnh ca Thy Phm Quang Ha. Thy cho ti nhng gi cng nh nhng kin v cng quan trng, gip ti c th vt qua cc kh khn trong qu trnh nghin cu v xy dng nn c phn mm ny Ti rt mong ti ny s c n nhn v c nhng kin ng gp pht trin v hon thin hn na sn phm phn mm ny v hi vng mt ngy khng xa, sn phm phn mm ny s c ng dng rng ri trong i sng hng ngy ca chng ta.

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

Chng 1: Gii thiu bi ton


1.1. Gii thiu bi ton Xy dng phn mm gim st v cnh bo 1.1.1. Ni dung Bi ton xut pht t nhu cu thc t nh: gii quyt cc vn cn tn ng ca h thng gim st hin ti v gp phn nng cao cht lng h thng camera gim st, b sung thm chc nng cnh bo cho h thng gim st, gii phng sc lao ng cho ngi chu trch nhim gim st h thng, chuyn tn hiu cnh bo n cc thit b di ng ca ngi gim st Xy dng phn mm da trn k thut pht hin chuyn ng. Qua k thut ny, phn mm s x l d liu kim tra c s chuyn ng xy ra hay khng. Khi c s chuyn ng xy ra, phn mm s cnh bo cho ngi gim st bit Phn mm c xy dng vi hai ni dung chnh l gim st v cnh bo Gim st: phn mm s gim st trong mt vng xc nh xc nh c s chuyn ng xy ra hay khng trong vng Cnh bo: mi khi phn mm xc nh c l c s chuyn ng xy ra trong vng gim st, phn mm s cnh bo cho ngi gim st qua hai hnh thc l cnh bo qua loa v cnh bo qua in thoi di ng. ng thi phn mm s ghi hnh chuyn ng li vo trong b nh lm t liu cho ngi gim st 1.1.2. Mc ch - Xy dng phn mm vi giao din n gin, d dng s dng v ci t chng trnh Phn mm gip gii quyt cc vn cn tn ng Phn mm gip gii phng sc lao ng cho ngi chu trch nhim gim st Phn mm gip ci thin, nng cao hiu qu ca vic gim st v cnh bo Xy dng thnh cng phn mm vi hai chc nng chnh l gim st v cnh bo Phn mm s xc nh chnh xc, ng n nhng s chuyn ng xy ra trong mt vng xc nh Phn mm s cnh bo ng mi khi c s chuyn ng xy ra Phn mm s gi c hnh nh chp hnh chuyn ng cho in thoi di ng ang kt ni vi h thng

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

Phn mm s ghi c hnh nh chuyn ng vo trong h thng lm t liu cho ngi gim st

1.1.3. Chc nng Phn mm gm 4 chc nng chnh l: Gim st camera: H thng s gim st s chuyn ng trong mt vng xc nh. Trc ht camera s c lp t ti mt v tr thu c hnh nh gc quan st ca camera. H thng lin tc ly nhng khung hnh t camera gi v. Sau , h thng s so snh gia cc khung hnh tm ra vng khc bit ln nht gia cc khung hnh. Khi tm ra vng khc bit ln nht v vng ln hn 1 ngng nht nh th h thng s bo hiu l c s chuyn ng xy ra Bo ng qua loa: Mi khi c s chuyn ng xy ra trong vng gim st, h thng s chy mt on nhc m c ci t trong h thng bo ng qua loa cho ngi gim st. Khi ht chuyn ng, phn nhc tip tc chy n 3 giy sau th mi dng hn Theo di t xa qua di ng: Ngi gim st c th gim st s chuyn ng t xa thng qua phn mm c ci t trn di ng ca mnh. Mi khi c s chuyn ng xy ra, sau khi bo ng qua loa, h thng s gi mt khung hnh ghi nhn s chuyn ng cho di ng. Phn mm s hin th khung hnh trn mn hnh di ng cho ngi gim st xem. T ng ghi hnh: Mi khi c s chuyn ng xy ra trong vng gim st, h thng s t ng ghi hnh chuyn ng li. Sau ny ngi gim st c th xem li cc on ghi hnh chuyn ng xy ra trong h thng Phn mm gm 3 chc nng khc l: Chp hnh chuyn ng: Khi ngi gim st mun chp li hnh nh hin th trn mn hnh, h thng s lu hnh nh ti mt folder ch nh v hin th nh ln mn hnh cho ngi gim st theo di Qun l ti khon ng nhp h thng: h thng c chc nng qun l ti khon ng nhp vo h thng, c th thm, sa, xa ti khon ng nhp Chuyn i giao din s dng: ngi dng c th chn la giao din phn mm theo thch ca mnh trong cc giao din c ca phn mm

1.2. Gii php v m hnh 1.2.1. Kho st cc h thng gim st hin c


Nguyn Vit Khnh Cng ngh phn mm - K48 5

Bo co n tt nghip

2011

1.2.1.1. Kho st Hin nay c rt nhiu cc h thng gim st khc nhau, cc h thng u c xy dng trn cc thit b c bn l: Camera t ti v tr cn gim st Router: B pht tn hiu Phn mm gim st v phn mm gi d liu H thng c cc chc nng nh: Ghi hnh: h thng ghi li hnh nh thu c t camera lm t liu cho sau ny Gim st ti ch: Ngi gim st c th theo di cc hnh nh thu c t camera trn h thng Gim st t xa: cc hnh nh thu c t camera c gi ln mng. T ngi gim st theo di t xa qua mng

Chc nng Ghi hnh Gim st ti ch Gim st t xa Bo hiu qua loa T ng pht hin chuyn ng T ng cnh bo Cnh bo t xa Chp hnh chuyn ng

H thng hin c C C C Khng Khng Khng Khng Khng

1.2.1.2. nh gi Cc chc nng c nh: Ghi hnh, gim st ti ch, gim st t xa hot ng tt, n nh, p ng c nhu cu ngi gim st

Cc chc nng cha c nh:

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

H thng cha t ng cnh bo c cho ngi gim st bit mi khi c chuyn ng xy ra, bi vy ngi gim st lun phi theo di 24/24 chuyn ng qua mn hnh gim st

H thng cha c chc nng cnh bo t xa cho ngi gim st H thng cha t ng pht hin khi c chuyn ng xy ra: ngi gim st l ngi pht hin chuyn ng qua mn hnh theo di Ngi gim st phi lin tc theo di hnh nh thu c thng qua camera gim st xem c s xm nhp tri php no khng, cha gii phng sc lao ng cho ngi gim st

1.2.2.

M hnh bi ton

1.2.2.1. T chc H thng gm cc thnh phn: camera thu hnh, server x l, client hin th hnh nh v di ng Camera: lin tc thu hnh vng quan st v gi d liu ln mt a ch ip ca camera Server: x l d liu v lng nghe yu cu kt ni t di ng. Khi c yu cu kt ni t pha di ng, server s thc hin kt ni vi di ng. Server s lin tc ly d liu t a ch ip ca camera. Sau server s x l d liu, kim tra xem c s chuyn ng hay khng. Nu c s chuyn ng th server s khoanh vng s chuyn ng cho client hin th, chy nhc bo hiu, ghi hnh li s chuyn ng v gi d liu cho di ng ang kt ni vi n. Ngc li, khi khng c s chuyn ng, server s thng bo cho di ng l khng c chuyn ng xy ra. Cng vic c lp li cho n khi kt thc chng trnh Client: Ly d liu x l, hin th d liu ln mn hnh cho ngi gim st theo di Di ng: di ng kt ni vi server, nhn d liu t server gi cho khi c chuyn ng xy ra. Sau di ng hin th d liu ln mn hnh di ng cho ngi gim st theo di 1.2.2.2. M hnh Gm c cc thnh phn nh: Camera: c t ti mt v tr c nh thu hnh, gi hnh ln mt a ch IP

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

Server: c nhim v lng nghe kt ni t pha di ng v to cc lung x l d liu cho kt ni . ng thi ly d liu t a ch IP v x l d liu , t kim tra c s chuyn ng hay khng

Client: hin th d liu ln mn hnh cho ngi dng xem Mobile: gi yu cu nhn d liu v nhn d liu t Server gi v, hin th trn mn hnh di ng

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

Chng 2: K thut v cng ngh


2.1. Cng ngh Java 2.1.1. Gii thiu v cng ngh Java Java l mt ngn ng lp trnh hng i tng. Khc vi phn ln ngn ng lp trnh thng thng, thay v bin dch m ngun thnh m my hoc thng dch m ngun khi chy, Java c thit k bin dch m ngun thnh bytecode, bytecode sau s c mi trng thc thi chy Java l mt cng ngh c hng Sun Microsystems xy dng t cui nm 1990 vi ci tn Oak v hin nay ang pht trin vt bc vi s ng gp ca hng vn lp trnh vin trn th gii. Ban u, Oak c k s James Gosling v cc cng s xy dng vi mc ch lp trnh cho cc mt hng in dn dng vi mc tiu nh gn v tng thch c vi nhiu loi thit b phn cng khc nhau. Sau Oak c s dng trong nhiu d n nh d n Xanh (Blue Project), d n Phim theo yu cu (Video on demand Project). Sau mt chuyn du lch ti o Java ca Indonesia, nhm pht trin Oak i tn Oak thnh Java Java c to ra vi tiu ch Vit mt ln, thc thi khp ni. Chng trnh phn mm vit bng Java c th chy trn mi nn tng (platform) khc nhau thng qua mt mi trng thc thi vi iu kin c mi trng thc thi thch hp h tr nn tng . Mi trng thc thi ca Java hin h tr Sun Solaris, Linux, Mac OS, Windows. Ngoi ra, mt s cng ty, t chc cng nh c nhn khc nhau cng pht trin mi trng thc thi Java cho nhng h iu hnh khc nh BEA, IBM, HP... . Trong ng ni nht l IBM Java Platform h tr Windows, Linux, 2.1.2. u im , nhc im ca Java u im: Hng i tng: Java l mt ngn ng lp trnh hng i tng, khng c nhiu hng s c lp, cc bin hoc cc hm: mi mt th c m t c th ch c truy nhp thng qua cc lp v cc i tng Mnh m: Java l mt ngn ng mnh v n yu cu tt c d liu phi c khai bo mt cch tng minh. N kim tra m ngun ti thi im ca s bin dch v s thng dch, v loi ra cc li ca chng trnh c lp nn: l kh nng ca mt chng trnh c th chy trn bt k my tnh no m khng cn quan tm n nn bn di
9

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

Bo mt: Java cung cp mi trng bo mt cho cc chng trnh thc thi v cung cp mt vi lp iu khin bo mt Phn tn: Java c s dng pht trin cc ng dng m c kh nng linh hot qua nhiu nn khc nhau, cc h iu hnh, v cc giao din ha ngi dng. N h tr cc ng dng mng a lung: Java cung cp s h tr cho a lung thc thi nhiu tc v ng thi

Nhc im: Do Java bin dch m ngun thnh bytecode, bytecode sau c mi trng thc thi chy nn Java thng chy chm hn nhng ngn ng lp trnh thng dch khc nh Python, Perl, PHP Gp kh khn trong vic debug chng trnh Cc tool h tr trong java khng mnh v n gin. Do java l phn mm m ngun m bi vy vic yu cu xy dng mt tool h tr chuyn nghip, u t quy m tr ln kh khn

2.1.3. Nhng h tr ca Java Java c xy dng ch yu da trn b cng c pht trin ( Java Development Kit - JDK) nh l b th vin chun trong cha trnh bin dch, trnh thng dch, trnh ng gi, ti liu,y chnh l nn tng cho vic pht trin cc ng dng Java. Hin nay, cng ng Java trn th gii m i u l hng Sun Microsystems xy dng nhiu nhnh mi cho Java nh: JavaMail (th in t), Java TAPI (vin thng), Java3D ( ha 3 chiu), J2ME (ng dng cho thit b di ng) Hin nay Java c cc phin bn h tr sau:
TM

J2SE (Java 2 Platform, Standart Edition): Phin bn chun gm b cng c thng dng dng chy trn cc my PC hoc cc mng my tnh nh.
TM

J2EE (Java 2 Platform, Enterprise Edition): Phin bn dnh cho cc my ch vi b nh ln. Bao gm cc kin trc nng cao nh Web, EJB, Transaction, dng xy dng cc ng dng c quy m ln J2ME (Java 2 Platform, Micro Edition): Bao gm mi trng v th vin Java dng pht trin cc ng dng trn cc thit b c b nh nh nh in thoi di ng, PDA, cc gia dng...
TM

Nguyn Vit Khnh Cng ngh phn mm - K48

10

Bo co n tt nghip

2011

2.1.4. Cng ngh Java trong lp trnh in thoi di ng (J2ME) J2ME c pht trin t kin trc JavaCard, EmbededJava v PersonalJava ca phin bn Java 1.1 . n d ra i ca phin bn Java 2 th Sun quyt nh thay th PersonalJava bng mt phin bn mi c tn Java 2 Micro Edition, vit tt l J2ME. J2ME c s dng cho cc thit b nh gn vi dung lng b nh b v kh nng x l thp. Mc tiu ca Java l cho php ngi lp trnh vit cc ng dng c lp vi thit b di ng, khng cn quan tm n phn cng tht s. lm c nh th, J2ME c xy dng bng cc tng khc nhau che giu i vic tng tc trc tip vi phn cng ca thit b. Cc tng cu J2ME c xy dng trn CLDC (Connected Limited Device Configuration):

Tng di cng l tng Phn cng thit b - y l tng vt l bao gm phn cng ca thit b di ng. Cc tng bn trn tng Phn cng thit b l cc tng tru tng, chng cung cp cho lp trnh vin nhiu giao din lp trnh thn thin v d dng hn m khng cn quan tm n phn cng. Ni cc khc chng ng vai tr trung gian gip cho lp trnh vin tng tc c vi phn cng m khng cn quan tm n cc chi tit thc s ca phn cng ca thit b Tng Phn cng thit b (Device Hardware Layer): y l thit b di ng tht s vi b nh v tc x l c th. Cc thit b di ng khc nhau c th c b vi x l v cc tp lnh rt khc nhau. Mc tiu ca J2ME l cung cp cho lp trnh vin kh nng giao tip ging nhau vi tt c cc loi thit b di ng khc nhau Tng my o Java (Java Virtual Machine Layer): y l tng ng vai tr thng ngn gia chng trnh v thit b. N s thng dch cc m bytecode (m c c sau khi bin dch m ngun chng trnh) thnh m my ca cc thit b di ng. Tng ny

Nguyn Vit Khnh Cng ngh phn mm - K48

11

Bo co n tt nghip

2011

bao gm KVM (K Virtual Machine) l b bin dch m bytecode thnh m my. N cung cp mt s chun ha cho cc thit b di ng ng dng J2ME sau khi bin dch c th chy c trn bt k thit b di ng no h tr KVM Tng cu hnh (Configuration Layer): Tng ny cung cp cc hm API c bn l nhn ca J2ME. Lp trnh vin c th s dng cc lp v cc phng thc ca cc API ny tuy nhin n khng thc s phong ph bng tp API ca tng hin trng Tng hin trng (Profile Layer): Tng ny cung cp cc hm API hu dng hn cho vic lp trnh. Mc ch ca tng ny xy dng nn lp cu hnh v cung cp nhiu th vin ng dng hn 2.1.5. L do s dng Java xy dng n Qua nhng u im ca Java v nhng s h tr ca Java nu trn, nhn thy y l ngn ng thch hp xy dng n vi nhng l do sau y: Ngn ng c s dng xy dng ng dng trn c hai pha Server v di ng, p ng ng yu cu ca bi ton ra Ngn ng hng i tng, gip cho vic xy dng cc i tng ca bi ton tr nn n gin, d dng hn Gip cho vic xy dng h thng mt ln, c th chy trn nhiu platform khc nhau Ngn ng h tr ng dng mng, gip cho vic truyn d liu gia di ng v server qua mng H tr a lung gip cho h thng c th x l nhiu yu cu trong ti mt thi im

2.2. Thut ton pht hin chuyn ng 2.2.1. M t thut ton Thut ton pht hin chuyn ng l qu trnh so snh lin tc tm ra s khc bit gia cc khung hnh video lin tip ly t a ch ip ca camera Thut ton da trn c s l so snh khung hnh video hin ti vi khung hnh video trc n S so snh c thc hin trn tng vng pixel ca hai khung hnh . Nu vng pixel ca khung hnh u thay i so vi vng pixel khung hnh sau th khoanh vng pixel l vng pixel thay i. Sau khi so snh ta thu c mt danh sch cc vng

Nguyn Vit Khnh Cng ngh phn mm - K48

12

Bo co n tt nghip

2011

pixel thay i. Ta tin hnh lin kt cc vng pixel thay i theo quy tc: nu cc vng pixel thay i k nhau th hp li thnh vng c kch thc ln nht, khng k vi cc vng thay i pixel khc. Sau khi lin kt ta c danh sch cc vng pixel thay i khng k nhau. Cui cng ta xc nh vng pixel thay i c kch thc ln nht. Nu vng pixel thay i c kch thc ln nht v ln hn mt ngng nht nh th vng thay i th hin c s chuyn ng 2.2.2. Biu din thut ton Xt trng hp c th l hai khung hnh 1 (Img1) v khung hnh 2 (Img2) Thut ton: Bc 1: So snh s khc nhau gia hai pixel ca hai nh Img1 v Img2 Mt pixel trong nh c biu din bng ba gi tr red, green, blue trong khong t 0 n 255: Pixel (int Red, int Green, int Blue)

Hnh 1: Image 1 vi pixel ti ta (x, y) c biu din l Pixel1( Red1, Green1, Blue1)

Nguyn Vit Khnh Cng ngh phn mm - K48

13

Bo co n tt nghip

2011

Hnh 2: Image 2 vi pixel ti ta (x, y) c biu din l Pixel2( Red2, Green2, Blue2)

Xc nh Delta gia hai Pixel qua cng thc: DeltaRed = | Red 2 Red 1| DeltaGreen = | Green 2 Green 1| DeltaBlue = | Blue 2 - Blue 1| Delta = Max (DeltaRed, DeltaGreen, DeltaBlue) Nu Delta > ngng xc nh (25) th pixel 1 c gi l thay i so vi pixel 2 Bc 2: Chia nh thnh cc vung c kch thc l 8 x 8

Hnh 3: Hnh th hin chia nh thnh cc c kch thc 8 x 8

Nguyn Vit Khnh Cng ngh phn mm - K48

14

Bo co n tt nghip

2011

m s pixel thay i trong cc . Nu s pixel thay i ln hn ngng l 20% tng s pixel trong mt th c gi l thay i

Hnh 4: Th hin cc c pixel thay i

Bc 3: Lin kt cc c s thay i thnh ln. Xc nh vng c kch thc ln nht. Nu vng ny c kch thc ln hn ngng l 32 x 32 th thng bo c s chuyn ng

Hnh 5: Lin kt cc thay i 2.2.3. nh gi thut ton


15

Nguyn Vit Khnh Cng ngh phn mm - K48

Bo co n tt nghip

2011

Thut ton xc nh c cc vng thay i gia khung hnh video trc v khung hnh video sau Thut ton lin kt c cc vng thay i xc nh c vng thay i c kch thc ln nht. Qua vng ny, ta c th xc nh c l c s chuyn ng xy ra hay khng bo hiu cho ngi gim st Thut ton x dng cc lung x l khc nhau, gip cho chng trnh thc hin c nhiu cng vic cng mt lc trong cng mt thi im. C cc lung x l d liu, cc lung x l v server, cc lung x l v kt ni gia client v server. Qua gip yu cu t ti nguyn h thng hn 2.2.4. So snh vi cc thut ton khc Cc thut ton v pht hin chuyn ng khc: Thut ton 1: Thut ton motion detectin ca Andrew Kirillov Bc 1: Tm cc vng khc bit gia hai khung hnh. Sau ta ly c mt nh vi nhng im nh mu trng ti nhng ni m khung hnh hin ti khc vi khung hnh trc n Bc 2: m cc im nh khc bit, nu s lng ca n ln hn mt mc bo ng xc nh trc th bo hiu l c s chuyn ng

Nhc im ca thut ton l nu i tng chuyn ng lin tc th ch thy c vng thay i nh gia cc khung hnh. Nhng nu i tng chuyn ng chm th thut ton khng xc nh c kt qu ng n Thut ton 2: Thut ton motion detectin ca Andrew Kirillov

Nguyn Vit Khnh Cng ngh phn mm - K48

16

Bo co n tt nghip

2011

Lc bt u, ta ly khung hnh u tin ca chui video, t l khung hnh nn. Ta lun so snh khung hnh hin ti vi khung hnh nn. Sau ta chuyn khung hnh hin ti vi khung hnh nn, thay i mu sc im nh ca khung hnh nn. Kt qu l ta xc nh c khung hnh chuyn ng ca vt

So snh vi cc thut ton: - Ging nhau: u da trn c s l so snh khung hnh video hin ti vi khung hnh video trc n. u im: Thut ton xc nh r c cc vng chuyn ng v ch nh c vng c s chuyn ng ln nht Thut ton chia khung hnh x l thnh cc vng v cc , v x l trn tng vng v tng ny. Vi vic gip cho nh gi chnh xc hnh nh hn 2.3. Thut ton nng cao (p dng cho vng pht hin) Mc ch: p dng pht hin chuyn ng trong mt vng ch nh Cch lm: To mt mt n theo nh dng sau

Nguyn Vit Khnh Cng ngh phn mm - K48

17

Bo co n tt nghip

2011

Hnh 6: Xy dng mt n o Vng mu en l vng khng xt s chuyn ng o Vng mu trng l vng xt s chuyn ng Vi cc nh thu c ta s p dng mt n vo. Ta s thu c cc nh vi vng b bi en tng ng vi vng en ca mt n Nh vy ta ch xt vng c s chuyn ng l vng khng b bi en. Ta ch quan tm s chuyn ng trong vng ny

Nguyn Vit Khnh Cng ngh phn mm - K48

18

Bo co n tt nghip

2011

Hnh 7: Chn vng ch nh

Hnh 8: p dng mt n cho vng ch nh

Nguyn Vit Khnh Cng ngh phn mm - K48

19

Bo co n tt nghip

2011

Chng 3: Thit k chng trnh


3.1. Cc module ca chng trnh Chng trnh c t chc thnh cc module nh sau:

Module

iconnect

idata

iprogram

iswing

iwriter

iplay_media

iconnect Module ny dng kt ni c s d liu v thao tc vi c s d liu IConnect: dng kt ni vi c s d liu IUser: thao tc vi c s d liu IUserBusinessRule: iu khin vic thao tc vi c s d liu

idata Module ny cha cc lp c s, s dng ci t thut ton ICell: dng xy dng lp cell CompareImage: dng xy dng lp CompareImage IData: dng xy dng lp cha d liu chung cho chng trnh IResize: dng xy dng lp thay i kch thc nh ImagePanel: dng xy dng lp ImagePanel MyImage: dng xy dng lp MyImage IPixel: dng xy dng lp Pixel IRectangular: dng xy dng lp Rectangular IUtility: cha cc phng thc tnh

iprogram Module cha cc lp dng x l chng trnh


Nguyn Vit Khnh Cng ngh phn mm - K48 20

Bo co n tt nghip

2011

IServer: lp Server ca chng trnh iServerThread: lp x l kt ni Server - Client IThread: lp hot ng ca chng trnh Module cha giao din ca chng trnh

iswing

DlgAbout: xy dng dialog gii thiu DlgGuide: xy dng dialog hng dn s dng IDialog: xy dng dialog hin th nh chp t mn hnh IFrame: xy dng frame hin th chnh ca chng trnh ILogin: xy dng frame ng nhp h thng IMenu: xy dng menu cho chng trnh IPanel: xy dng panel chnh cho frame IUserForm: xy dng panel user

iwriter: Module cha lp s dng trong vic c ghi file IWriteFile: dng c ghi file nh ghi trong file c nh dng .txt

iplay_media Module cha cc lp s dng trong vic chy file nhc v nh 3.2. IMovie: dng iu khin cch chy file nh IPlayAudio: dng chy file audio IPlayMovie: dng chy file nh, hin th trn mn hnh Ci t chng trnh

3.2.1. Ci t thut ton pht hin chuyn ng Thut ton pht hin chuyn ng da trn nguyn tc c bn l so snh khung hnh video hin ti vi khung hnh video trc n. Ta xt trng hp c th sau: Input: Hai khung hnh video Img1 v Img2 c cng kch thc chiu rng v chiu cao Output: Danh sch cc hnh ch nht th hin vng thay i gia Img1 v Img2

Nguyn Vit Khnh Cng ngh phn mm - K48

21

Bo co n tt nghip

2011

Cc bc thc hin: Bc 1: Chia nh ra thnh cc c kch thc l 8 x 8 pixel theo cc trc thng v trc ngang th: S theo trc ngang l: kch thc chiu ngang ca nh / kch thc chiu ngang ca numCellX = image.getWidth() / cell.getWidth() S theo trc dc l: kch thc chiu dc ca nh / kch thc chiu dc ca numCellY = image.getHeight() / cell.getHeight() Nh vy ta c mng 2 chiu cc l cell[numCellY][numCellX] Bc 2: Cho vng lp chy tng trong mng cell [numCellY][numCellX] V mi c to bi cc Pixel nn mi c kch thc 8 x 8 ta s ly c mng 2 chiu pixel l pixel[8][8] Cho vng lp chy tng pixel trong mng 2 chiu pixel[8][8] So snh s thay i gia cc pixel gia 2 nh Img1 v Img2, m s pixel thay i Nu s pixel thay i trong 1 ln hn ngng nht nh l 20% th nh du l thay i Bc 3: Lin kt cc thay i thnh cc vng thay i. Xc nh vng thay i c kch thc ln nht, vng th hin s chuyn ng. Biu din vng thay i bng hnh ch nht So snh s thay i gia cc pixel: so snh gia hai pixel Pixel1 (red1, green1, blue1), Pixel2 (red2, green2, blue2) kim tra s thay i: deltaRed = | red2 red1 | deltaBlue = | blue 2 blue1 | deltaGreen = | green2 green1 | delta = max (deltaRed, deltaBlue, deltaGreen) nu delta > ngng (25) th Pixel1 c gi l thay i so vi Pixel2

Nguyn Vit Khnh Cng ngh phn mm - K48

22

Bo co n tt nghip

2011

M Gi:
Input: Hai Pixel p1(int red1, int green1, int blue1) v p2(int red2, int green2, int blue2) Ouput: delta gia p1 v p2 procedure int getdelta (Pixel p1, Pixel p2) deltaRed = | p1.Red p2.Red | deltaGreen = | p1.Green p2.Green | deltaBlue = | p1.Blue p2.Blue | max = deltaRed > deltaGreen ? deltaRed : deltaGreen max = max > deltaBlue ? max : deltaBlue return max end procedure

lin kt cc c s thay i thnh ln ta tin hnh theo cc bc sau: Bc 1: Khi to mt danh sch hnh ch nht: listRec Bc 2: Cho vng lp chy qua cc trong mng hai chiu cha cc , tm cc thay i ng mi thay i, kim tra xem c lin quan n hnh ch nht no khng, nu c th m rng vi hnh ch nht, khng th to mt hnh ch nht mi c kch thc l thay i , thm vo danh sch hnh ch nht Sau khi kt thc vng lp, ta c 1 danh sch cc hnh ch nht th hin s thay i Bc 3: Lin kt cc hnh ch nht trong danh sch Cho vng lp chy qua cc hnh ch nht trong danh sch cc hnh ch nht, kim tra xem s lin quan gia cc hnh ch nht khng. Nu hai hnh ch nht lin quan n nhau, gp hnh ch nht th nht vi hnh ch nht th hai, b hnh ch nht th hai i trong danh sch. Tip tc thc hin cho n khi ht danh sch hnh ch nht, ta s thu c mt danh sch cc hnh ch nht ring bit, khng lin quan n nhau. Lin quan mt im vi hnh ch nht: Mt im c ta l (x, y) c gi l lin quan n hnh ch nht (x1, y1, x2, y2) khi ta im tha mn cng thc: o {

Nguyn Vit Khnh Cng ngh phn mm - K48

23

Bo co n tt nghip

2011

Hnh 9: Lin quan ca pixel vi hnh ch nht M gi:


Input: Ta (x, y) ca im xt, Hnh ch nht rec(X1, Y1, X2, Y2) Output: tr v gi tr boolean //Xt lin quan gia im v hnh ch nht procedure boolean related if x > X1 - 1 && x < X2 + 1 && y > Y1 - 1 && y < Y2 + 1 return true else return false end if end procedure

Lin quan ca hai hnh ch nht Hai hnh ch nht Rec1(x1, y1, x2, y2) v Rec2(X1, Y1, X2, Y2) c gi l lin quan n nhau khi: Ta im (X1, Y1) ca Rec2 lin quan n hnh ch nht Rec1 hoc Ta im (X1, Y2) ca Rec2 lin quan n hnh ch nht Rec1 hoc Ta im (X2, Y2) ca Rec2 lin quan n hnh ch nht Rec1 hoc Ta im (X2, Y1) ca Rec2 lin quan n hnh ch nht Rec1
Nguyn Vit Khnh Cng ngh phn mm - K48 24

Bo co n tt nghip

2011

Hnh 10: S lin quan ca hai hnh ch nht M Gi


Input: Hai hnh ch nht Rec1(x1, y1, x2, y2) v Rec2(X1, Y1, X2, Y2) Output: Tr v gi tr True/ False //xt s lin quan gi 2 hnh ch nht procedure boolean relatedOfRectangular(Rectangular r1, Rectangular r2) if (X1, Y1) related Rec1 || (X1, Y2) related Rec1 || (X2, Y2) related related Rec1 || (X2, Y1) related Rec1 eturn True else return False End if end procedure

Lin quan vi hnh ch nht Mt (x, y, width, height) c gi l lin quan n hnh ch nht Rec(X1, Y1, X2, Y2) khi: Ta im (x1, y1) ca lin quan n hnh ch nht Rec1 hoc Ta Im (x2, y2) ca lin quan n hnh ch nht Rec1 hoc Ta im (x1, y2) ca lin quan n hnh ch nht Rec1 hoc

Nguyn Vit Khnh Cng ngh phn mm - K48

25

Bo co n tt nghip

2011

Ta im (x2, y1) ca lin quan n hnh ch nht Rec1

Hnh 11: Lin quan ca mt vi mt hnh ch nht

Input: cell(x, y, width, height) v hnh ch nht Rec(x1, y1, x2, y2) Output: Tr v gi tr True/ False // Xt s lin quan gia v hnh ch nht procedure boolean relatedCellWithRectangular(Cell cell, Rectangular rec) if (X1, Y1) related Rec || (X2, Y2) related Rec || (X1, Y2) related Rec1 || (X2, Y1) related Rec1 return True else return False end if end procedure

M rng hnh ch nht vi mt im: Mt hnh ch nht Rec( x1, y1, x2, y2) c gi l m rng vi mt im pixel c ta l (x, y) th hnh ch nht Rec sau khi m rng c biu din : o Rec (min(x, x1), min( y, y1), max(x, x2), max(y, y2) )

Nguyn Vit Khnh Cng ngh phn mm - K48

26

Bo co n tt nghip

2011

Hnh 12: M rng hnh ch nht vi mt pixel

Input: im Pixel (x, y) v hnh ch nht Rec(x1, y1, x2, y2) Ouput: Hnh ch nht c to bi Rec m rng vi im //M rng hnh ch nht vi mt im procedure exchange ( int x, int y, Rectangular rec ) X1 = min(x, x1) Y1 = min(y, y1) X2 = max(x, x2) Y2 = max(y, y2) end procedure

M rng hnh ch nht vi mt : Mt hnh ch nht Rec(x1, y1, x2, y2) c gi l m rng vi Cell(x, y, width, height) th hnh ch nht Rec sau khi m rng c biu din l: Hnh ch nht Rec m rng vi im (x1, y1) ca Hnh ch nht Rec m rng vi im (x2, y2) ca Hnh ch nht Rec m rng vi im (x1, y2) ca Hnh ch nht Rec m rng vi im (x2, y1) ca

Nguyn Vit Khnh Cng ngh phn mm - K48

27

Bo co n tt nghip

2011

Hnh 13: M rng hnh ch nht vi mt M Gi:


Input: Hnh ch nht Rec(x1, y1, x2, y2) v Cell(X1, Y1, X2, Y2) Output: Hnh ch nht Rec mi c to bi Rec m rng vi Cell //M rng hnh ch nht vi mt procedure relatedRectangularWithCell(Cell cell, Rectangular rec) rec exchange (X1, Y1) rec exchange (X1, Y2) rec exchange (X2, Y1) rec exchange (X2, Y2) end procedure

M rng hai hnh ch nht: Hnh ch nht Rec1(x1, y1, x2, y2) gi l m rng vi hnh ch nht Rec2(X1, Y1, X2, Y2) th ta hnh ch nht Rec1 sau khi m rng l: Hnh ch nht Rec1 m rng vi im (X1, Y1) ca Rec2 Hnh ch nht Rec1 m rng vi im (X1, Y2) ca Rec2 Hnh ch nht Rec1 m rng vi im (X2, Y1) ca Rec2 Hnh ch nht Rec1 m rng vi im (X2, Y2) ca Rec2

Nguyn Vit Khnh Cng ngh phn mm - K48

28

Bo co n tt nghip

2011

Hnh 14: M rng hai hnh ch nht lin quan n nhau M Gi


Input: Hai hnh ch nht Rec1 (x1, y1, x2, y2) v Rec2(X1, Y1, X2, Y2) Output: Hnh ch nht Rec1 mi c m rng bi Rec1 v Rec2 //M rng hai hnh ch nht procedure exchangeRectangular( Rectangular Rec1, Rectangular Rec2) x1 = min (x1, X1) y1 = min (y1, Y1) x2 = max (x2, X2) y2 = max (y2, Y2) end procedure

xc nh vng thay i c kich thc ln nht, ta lm nh sau - Bc 1: Sau khi thu c danh sch hnh ch nht khng lin quan n nhau, khi to hnh ch nht c kch thc ln nht ( rectMax) l hnh ch nht u tin trong danh sch - Bc 2: Cho vng lp chy tng cc hnh ch nht trong danh sch, nu hnh ch nht no c kch thc ln hn rectMax th t hnh ch nht l hnh ch nht c kch thc ln nht

Nguyn Vit Khnh Cng ngh phn mm - K48

29

Bo co n tt nghip

2011

Bc 3: Khi kt thc vng lp, ta thu c hnh ch nht c kch thc ln nht.

Nu hnh ch nht ny ln hn ngng ch nh l 32 x 32 th hnh ch nht ny th hin vng chuyn ng M Gi:


Input : danh sch listRectangular Ouput: Rectangular c din tch ln nht procedure maxRectangular(ArrayList listRectangular) max = listRectangular.get(0) for number i from 1 to listRectangular.size() if max.getArea() < listRectangular.get(i).getArea() max = listRectangular.get(i); end if end for for each Rectangular r in listRectangular if r.getArea() = max.getArea() if r.getArea() > 32 * 32 r.setIsMaxArea(true) end if end if end for end procedure

3.2.2.

M hnh cc lung x l

Nguyn Vit Khnh Cng ngh phn mm - K48

30

Bo co n tt nghip

2011

Hnh 15: M hnh hot ng cc lung x l ca chng trnh Lung IThread x l d liu v kim tra c s chuyn ng xy ra hay khng, nu c th thc hin chy on nhc, ghi hnh. Lung Server lng nghe kt ni t Mobile gi n, khi c yu cu kt ni, lung Server s to lung ServerThread x l cc yu cu t Client Mobile. Lung ServerThread x l vic trao i d liu vi Mobile. Lung Mobile trn di ng thc hin nhn d liu, hin th trn mn hnh di ng Cc lung IThread, Server, ServerThread u dng chung d liu l i tng IData. Lc bt u chy chng trnh th cc lung IThread, Server c khi to d liu l iData Trc ht lung IThread chy u tin. Sau khi lung IThread x l xong d liu, IThread gn d liu cho IData ri tm dng hot ng, t lung x l tip theo l lung Server, chuyn sang trng thi i. Lung Server t trng thi ch chy chuyn sang trng thi chy. Lung Server lng nghe xem c kt ni t di ng gi n khng, nu khng th n tm dng hot ng, t lung x l tip theo l lung IThread, chuyn sang trng thi i. Nu c yu cu kt ni gi n, lung Server khi to lung IServerThread vi d liu l iData. Sau lung IServer chuyn tm dng hot ng, t lung x l tip theo l IServerThread, chuyn sang trng thi i. Khi lung

Nguyn Vit Khnh Cng ngh phn mm - K48

31

Bo co n tt nghip

2011

IServerThread chy, lung ny s thc hin trao i d liu vi di ng, sau lung ny t lung x l tip theo l IThread, chuyn sang trng thi i. Lung IThread bt u chp tip v vng lp c thc hin tip tc nh trn 3.2.3. Ci t lung x l d liu

Hnh 16: Hnh m t lung x l d liu M gi:


// override run() procedure run() while (true) // thc hin lp li qu trnh // kim tra c tn hiu dng chng trnh khng if isStop = true break // nu c th thot khi vng lp end if bi = getImageFromURL() // ly nh t a ch URL //kim tra c tn hiu chy motion detetction khng, nu c th thc hin if isStarMotionDetection = true compare2Image() // so snh nh hin ti v nh //trc n // nu danh sch cha nh so snh c kch thc //ln hn 1 th xa phn t v tr u danh //sch i if list.size != 1 list.remove(0)

Nguyn Vit Khnh Cng ngh phn mm - K48

32

Bo co n tt nghip
end if

2011

// kim tra c tn hiu ly nh khng, nu c th thc hin v nh trn mn hnh if isGetImage = true repaint() end if // kim tra nu c tn hiu chy motion detection if isStartMotionDetection = true // nu c s chuyn ng xy ra if isMotion = true saveImage( bi ); // lu nh // kim tra playSound cha, nu cha th //playSound, ngc li th khng if isDo = false playSound() isDo = true end if else // khi ht chuyn ng xy ra, tt playSound if(isDo = true) stopPlaySound() isDo = false end if end if else // khng c tn hiu chy motion detection, dng mi hot ng li if( isDo = true){ stopPlaySound() isDo = false; end if end if end while end procedure

3.2.4.

Ci t lung x l Server

Nguyn Vit Khnh Cng ngh phn mm - K48

33

Bo co n tt nghip

2011

Hnh 17: Hnh m t lung Server hot ng Lung Server lng nghe ti mt cng nht nh. Lung Client gi yu cu kt ni n Server kt ni vi Server. Khi Server chp nhn yu cu kt ni t pha Client s to ra mt lung io x l cho vic trao i d liu. Khi , Client cng to ra mt lung io. Hai lung ny s thc hin vic trao i d liu gia Server v Client. Cc bc thit lp socket pha Server: To mt socket Lin kt socket vi mt a ch, a ch ny cha cng m Server lng nghe Lng nghe kt ni gi n Khi c kt ni gi n th chp nhn kt ni To lung ServerThread x l trao i d liu

Nguyn Vit Khnh Cng ngh phn mm - K48

34

Bo co n tt nghip

2011

Hnh 18: M hnh hot ng ca Server M gi:


//To ServerSocket lng nghe ti cng nht nh procedure run() while(true) //nu cha n phin lung Server chy th cho lung vo trng thi i if isStop // kim tra c tn hiu dng khng, nu c th ng chng //trnh li break end if if isMotion) // kim tra c s chuyn ng khng

Nguyn Vit Khnh Cng ngh phn mm - K48

35

Bo co n tt nghip

2011

addThread( ServerSocket.accecp()); // nu c kt ni t di ng, to lung IServerThread x l kt ni vi di ng end if if isStartServer = false // nu cha IServerThread th cho lung IThread chy // lung IThread chy else // ngc li //lung IServerThread chy end if end while end procedure to lung

3.2.5. Ci t lung x l kt ni gia Server Mobile Cc bc hot ng Bc 1: Nhn cc yu cu gi t pha Mobile v x l yu cu o Nu l yu cu nhn ng nhp h thng, lung IServerThread s nhn d liu cha tn ti khon v mt khu. Kim tra nu c tn ti ti khon v mt khu trong c s d liu v gi cho mobile kt qu kt ni thnh cng, ngc li, gi kt qu kt ni khng thnh cng o Nu l yu cu ngng kt ni, th ng lung x l li khi c s chuyn ng, ngc li lung s gi bo hiu cho mobile l khng c chuyn ng Bc 2: Gi kt qu li cho Client sau quay tr li bc 1 M gi:
//m kt ni vi server open() // kim tra xem di ng ng nhp ng cha if ng nhp ng //gi chui CONN bo hiu ng nhp ng else // gi chui NOTCONN bo hiu ng nhp sai //bt u chy lung end if procedure run() while( true )

o Nu l yu cu nhn d liu, lung s gi mng byte[] d liu cho mobile

Nguyn Vit Khnh Cng ngh phn mm - K48

36

Bo co n tt nghip

2011

// kim tra lung c c cp php chy khng, nu khng th cho lung vo trng thi i wait() // nu c tn hiu ng chng trnh, gi tn hiu ng lung cho mobile dos.wirteLong(2) // nu khng dng chng trnh if isStop = false process() // x l cc yu cu t pha mobile setThread(1) // cho lung IThead s chy tip theo notifyAll() nh thc cc lung dy // ngc li else // ng lung, quay tr li lung IThread setThread(1) notifyAll(); break; end if end while stopRun() // ng lung li end procedure

3.2.6.

Ci t lung x l chy trn in thoi di ng

Hnh 19: M t lung Mobile hot ng

Nguyn Vit Khnh Cng ngh phn mm - K48

37

Bo co n tt nghip

2011

Di ng gi yu cu nhn d liu n Server. Server nhn yu cu t pha Client. Khi c s chuyn ng xy ra, Server s gi d liu n cho Client. Client nhn d liu t pha Server v hin th d liu ln mn hnh. Cng vic tip tc c lp li cho n khi Client hoc Server gi tn hiu ngng hot ng chng trnh

Hnh 20: M t lung Mobile yu cu ngt kt ni

Khi Client mun ng chng trnh, Client s gi yu cu thot n cho Server. Khi Server nhn c yu cu thot t pha Client, Server s ng lung x l kt ni vi Client. ng thi Client cng ng lung x l vi Server.

Nguyn Vit Khnh Cng ngh phn mm - K48

38

Bo co n tt nghip

2011

Hnh 21: M t lung Mobile yu cu ngt kt ni Khi ng chng trnh, Server s gi yu cu thot cho Client. Khi Client nhn c yu cu th c Server v Client u ng lung kt ni gia chng li Cc bc hot ng Bc 1: To mt Socket thit lp kt ni Bc 2: Ly a ch IP v cng m Server ang lng nghe Bc 3: Thit lp kt ni vi Server

o Sau khi kt ni c thit lp, Mobile gi d liu cha ti khon v mt khu cho Server ng nhp vo h thng v i d liu kt qu gi v t Server o Nu ng nhp ng th Server tr v d liu th hin ng nhp thnh cng, chuyn sang bc 4 o Nu ng nhp sai th Server tr v d liu th hin ng nhp khng thnh cng, lc ny mobile hin th li ng nhp ti khon ln mn hnh, quay tr li bc 3 - Bc 4: Di ng gi yu cu nhn d liu n cho Server, sau i n khi nhn c d liu Bc 5: Nhn d liu t Server gi v, x l d liu o Nu l d liu bo khng c chuyn ng th chuyn sang bc 6 o Nu l d liu bo ngt n t Server th dng lung li, ng lung o Nu l d liu cha nh, th cho nh hin th ln mn hnh

Nguyn Vit Khnh Cng ngh phn mm - K48

39

Bo co n tt nghip

2011

Bc 6: Lp li qu trnh gi yu cu nhn d liu, quay tr li bc 4 Cc ngoi l xy ra:

Khi di ng yu cu ng chng trnh, th lung hot ng s gi yu cu ng

kt ni n cho Server. Sau lung ngt kt ni vi Server v ng lung li M gi:


procedure void run() open() // m kt ni vi Server while( true ) if isStop = false chng trnh

// nu khng c tn hiu dng

request(GET) // gi yu cu d liu n Server recevie() // nhn d liu t Server gi v else break // khi c tn hiu ng chng trnh th thot khi //vng lp end if end while close() // ng kt ni li end procedure procedure request( String str ) dos.writeUTF( str ) dos.flush() end procedure procedure receive() { len = dis.readLong() if len = 1 // bo hiu khng c chuyn ng return else if len = 2 { // bo hiu ng kt ni isStop = true; return end if end if // x l d liu nhn c to thnh file Image dis.readFully(bytes) Image i = Image.createImage(byte) // hin th nh ln mn hnh frmMain.append( i )

Nguyn Vit Khnh Cng ngh phn mm - K48

40

Bo co n tt nghip
display.setCurrent (frm Main) end procedure

2011

3.2.7. Ci t lp ghi d liu Hai phng thc chnh l: Ghi d liu: Mi khi c s chuyn ng xy ra th lu nh vo mt file ch nh. u tin chuyn nh c lu sang nh dang byte[]. Lu mng byte[] ny c lu vo file. Khi ghi byte[] vo file, phi kim tra xem kch thc ca file c ln hn 10MB khng, nu ln hn th to ra mt file mi, tip tc ghi nh chuyn ng vo file ny c d liu: c cc byte[] nh trong mt file, t to nh, lu cc nh c to vo mt danh sch ArrayList M gi:
//Phng thc c file procedure ArrayList<BufferedImage> read() list = new ArrayList<BufferedImage>() while(true) length = dis.readLong() bytes = new byte[length] dis.read(bytes) list.add(ImageIO.read(new ByteArrayInputStream(bytes)); end while end procedure //Phng thc kim tra kch thc file procedure boolean checkSizeOfFile(){ length = file.length() if length > 10485760 return true else return false end if end procedure //phng thc chuyn file sang mng byte[] procedure byte[] getBytesFromImage (BufferedImage img){ ByteArrayOutputStream arr = new ByteArrayOutputStream() ImageIO.write(img, JPG, arr) return arr;

Nguyn Vit Khnh Cng ngh phn mm - K48

41

Bo co n tt nghip
end procedure

2011

//phng thc ghi file procedure write(BufferedImage img) if(checkSizeOfFile()) bytes = getByteFromImage(image); l = bytes.length; dos.write(l) dos.write(bytes) dos.flush() else dos.close() file = new File(strFile); dos = new DataOutputStream(new FileOuputStream(file)); end if end procedure

3.2.8.

Ci t lp hin th d liu

Sau khi c cc nh c lu trong file, ta c danh sch cc nh. S dng i tng Timer cho hin th tng nh trong thi gian l 250 ms M gi:
//override method paint() procedure paint(Graphics g) g.drawImage(img, 0, 0, null) end procedure i = 0; // khi to i = 0 //override method actionPerformed ca i tng Timer procedure actionPerformed(ActionEvent e) //list l danh sch nh c t mt file if i < list.size() img = list.get(i); repaint(); i ++; else timer.stop() i = 0; end if end procedure

Nguyn Vit Khnh Cng ngh phn mm - K48

42

Bo co n tt nghip

2011

Chng 4: Th nghim v nh gi
4.1. Giao din chng trnh Chng trnh gm cc giao din nh sau:

Hnh 22: Giao din ng nhp ca chng trinh

Nguyn Vit Khnh Cng ngh phn mm - K48

43

Bo co n tt nghip

2011

Hnh 23: Giao din chnh ca chng trinh

Nguyn Vit Khnh Cng ngh phn mm - K48

44

Bo co n tt nghip

2011

Hnh 24: Giao din qun l ti khon

Nguyn Vit Khnh Cng ngh phn mm - K48

45

Bo co n tt nghip

2011

Hnh 25: Giao din xem on video ghi hnh chuyn ng

Nguyn Vit Khnh Cng ngh phn mm - K48

46

Bo co n tt nghip

2011

Hnh 26: Giao din trn in thoi di ng 4.2. Th nghim chng trnh ng nhp vo h thng thnh cng trn Server in thoi di ng c th kt ni vi Server v nhn d liu t Server

- Mi khi c s chuyn ng xy ra, pht hin c s chuyn ng, khoanh vng s chuyn ng - Khi c chuyn ng h thng cnh bo qua loa v gi hnh nh cho di ng ang kt ni n Test Kt qu

ng nhp h thng, khng nhp H thng thng bo: Nhp ti khon v mt khu vo! ti khon v mt khu

Nguyn Vit Khnh Cng ngh phn mm - K48

47

Bo co n tt nghip

2011

Admin ng nhp h thng vi ti H thng thng bo : Ti khon hoc mt khu khon ng nhp v password sai sai, th li Admin ng nhp h thng vi ti Cho php ng nhp vo h thng, hin th ton b giao din chnh ca chng trnh khon ng nhp ng User ng nhp vo h thng Nhp a ch IP ca camera sai Chy chng trnh Dng chng trnh Ch hin th giao din gim st v cnh bo ca chng trnh H thng hin th thng bo: Khng ly c d liu t camera, th li! H thng hin th cc hnh nh thu t camera cho ngi gim st theo di trn mn hnh H thng ngng hin th hnh nh thu t camera trn mn hnh

Chy chc nng gim st sau khi Khi c chuyn ng, h thng khoanh vng chuyn ng v cnh bo qua loa cho ngi chy chng trnh gim st Chp hnh chuyn ng H thng chp c hnh chuyn ng, lu li vo mt folder ch nh v hin th trn mn hnh cho ngi gim st theo di Di ng kt ni n Server Di ng kt ni vi Server ti a ch IP ch nh

Khi cha c chuyn ng xy ra, Server bo hiu cho di ng cha c chuyn ng xy ra, di ng hin th mn hnh ch Server bo hiu cho di ng Khi c chuyn ng xy ra, Di ng nhn c d liu v hin th trn mn hnh. Server gi d liu cho di ng Di ng ngt kt ni Di ng ngt kt ni vi Server v tr li form ng nhp ca chng trnh

Xem cc on video ghi hnh H thng ghi c hnh nh chuyn ng v xem trn h thng chuyn ng Khng ly c d liu t camera H thng dng hot ng v hin th thng bo:

Nguyn Vit Khnh Cng ngh phn mm - K48

48

Bo co n tt nghip

2011

Khng ly c d liu t camera, th li Thc hin thm d liu vo c s Nu d liu trng thng bo li: Ti khon tn ti d liu Thc hin xa d liu trong c s xa d liu trong c s d liu d liu Thc hin cp nht trong c s D liu c cp nht trong c s d liu d liu Thc hin lu d liu ly t Khi d liu c lu chim vng nh ln, t to mt file mi lu tip d liu camera vo trong h thng 4.3. nh gi kt qu nh gi v chc nng Chng trnh thc hin c ng cc chc nng ra nh: Khoang vng chuyn ng ln nht: vng chuyn ng ln nht c khoanh vng c mu Bt tn hiu cnh bo qua loa: khi c chuyn ng, phn mm chy on nhc c ci t cnh bo cho ngi gim st Gi hnh chuyn ng cho di ng ang kt ni: di ng nhn c hnh nh gi t pha server, v hin th trn mn hnh di ng cho ngi gim st theo di Xem li cc on thu hnh video chuyn ng: phn mm lu cc hnh nh chuyn ng ti folder ch nh, t cc hnh nh ny c hin th trn mn hnh cho ngi gim st theo di Qun l ti khon ng nhp: phn mm qun l c ti khon ng nhp cho h thng, phn r quyn hn cho ngi truy nhp vo h thng. Khi ng nhp l admin th hin th y chc nng chng trnh, nu ng nhp l user th ch hin th chc nng chnh ca chng trnh 4.3.2. nh gi tnh logic

4.3.1.

Chng trnh hot ng n nh, x l cc ngoi l tn ti trong khi hot ng Khi pha server ngt kt ni th pha di ng hin th thng bo server ngt kt ni v ngng hot ng chng trnh, quay tr li giao din ng nhp chnh

Nguyn Vit Khnh Cng ngh phn mm - K48

49

Bo co n tt nghip

2011

Khi pha di ng ngt kt ni, th lung x l kt ni gia server di ng ngng hot ng, khng gi d liu cho pha di ng Khi di ng nhn d liu, di ng xa vng d liu c, cp nhp d liu mi, x l c trng hp b nh di ng b trn d liu, gy ngng hot ng cho di ng Khi c chuyn ng xy ra th chng trnh mi cnh bo cho ngi gim st, ngc li th khng cnh bo S dng chng trnh n gin, thun tin

4.3.3. nh gi hiu nng - Chng trnh khi hot ng chim khong 48 n 60 MB b nh Tc truyn d liu gia server v di ng l khong 1giy/ 1 file d liu Kch thc cc d liu c ghi li vo trong cng l khong 24Kb/ 1 file d liu Kh nng gi nhn d liu gia server di ng t yu cu ra Kh nng x l d liu, nh gi pht hin chuyn ng tt Kh nng lu tr d liu ln

Nguyn Vit Khnh Cng ngh phn mm - K48

50

Bo co n tt nghip

2011

Chng 5: Kt lun v hng pht trin


5.1. Kt lun

Sau mt thi gian nghin cu, n c xy dng hon thin. n hon thnh ng bn chc nng c bn ra ban u nh: gim st, bo ng, theo di t xa qua di ng, ghi hnh chuyn ng. Ngoi ra, n cn c pht trin thm ba chc nng gm: chp hnh chuyn ng, thay i giao din v qun l ti khon. Cc chc nng ca chng trnh p ng ng yu cu, mc ch ban u ra: nh gip gii phng sc lao ng cho ngi gim st, nng cao hiu qu gim st v cnh bo. Cc chc nng ca phn mm hot ng tt v n nh, m bo tnh logic v hiu nng s dng, c tnh p dng thc tin cao trong i sng 5.2. Hng pht trin 5.2.1. B xung tnh nng, thut ton nng cao 5.2.1.1. Cc tnh nng B xung thm cc tnh nng sau y: Tnh nng pht hin chuyn ng trong mt vng xc nh: xy dng b lc cho h thng, ch gim st ti mt vng ch nh Tnh nng chuyn cc file nh lu thnh file video nh dng avi, thun tin cho vic qun l: thay v lu cc file nh, h thng chuyn cc file nh thnh file video .avi Tnh nng upload ln web server, gip cho vic truy nhp t xa: h thng s upload nh ln server, ngi dng t xa c th truy nhp n server xem hnh nh thu c t h thng Tnh nng gi mail cnh bo cho a ch ch nh: khi c chuyn ng xy ra, h thng s gi mail cnh bo cho ngi gim st qua a ch mail ch nh Tnh nng gi tin nhn cnh bo cho in thoi di ng, trong tin nhn c lu hnh chp li t camera: h thng s gi tin nhn c hnh chp chuyn ng n s in thoi di ng ch nh cnh bo cho ngi gim st Tnh nng gim st cng lc nhiu camera hot ng, thc hin cnh bo cho tng camera: h thng c xy dng bi nhiu camera hot ng cng mt lc, thc hin gim st v cnh bo vi mi camera

Nguyn Vit Khnh Cng ngh phn mm - K48

51

Bo co n tt nghip

2011

5.2.1.2. Thut ton nng cao Xy dng thut ton to thm b lc x l d liu Ngi dng nhp vng gim st cho h thng H thng s tnh ton ta b lc tng ng vi vng nhp H thng p dng b lc, ch xt pht hin chuyn ng trong mt vng nht nh

5.2.2. Cng c thit k - Xy dng module thit k b lc cho h thng Ngi dng chn la vng cn gim st trn mn hnh, h thng s tnh ton to H thng p dng b lc cho phn x l d liu Hng cnh bo khc mt b lc tng ng vi vng c chn -

5.2.3.

Pht trin thm cc hng cnh bo khc nh l: Nhn tin vo in thoi di ng: Ngi dng nhp s din thoi vo h thng v son tho tin nhn s c gi. Khi c chuyn ng xy ra, h thng s gi tin nhn cho s in thoi ngi dng ci t Gi mail vo mt a ch ch nh: Tng t nh trn, ngi dng nhp a ch email v d liu gi cho h thng. H thng s gi d liu cho a ch email d ci t khi c chuyn ng Xy dng h thng p ng c nhiu kt ni t di ng yu cu n Server v s gi d liu cho cc di ng ny

Nguyn Vit Khnh Cng ngh phn mm - K48

52

Bo co n tt nghip

2011

Ti liu tham kho


Cc bi vit v k thut pht hin chuyn ng:
-

Motion Detection Algorithms ca Andrew Kirillov:


http://www.codeproject.com/KB/audio-video/Motion_Detection.aspx

Cc bi bit v Motion detection trong Wikipedia


http://en.wikipedia.org/wiki/Motion_detection

Ti liu v cch lp trnh vi J2ME: Lp trnh thit b di ng vi J2ME ca Khoa Cng Ngh Thng Tin i hc Khoa hc T nhin MIDP 2.0 Introduction to Using Sockets and Datagrams v1.0 en ca Nokia

Ti liu Java ca Oracle v cch thc s dng phng thc, thuc tnh cc lp trong Java:
http://download.oracle.com/javase/1.4.2/docs/api/java/

Ti liu hng dn cch vit code, cc on code v d trong website:


http://java2s.com/

Ti liu hng dn s dng gi h tr xy dng giao din Swing vi JTattoo trong webstie:
http://www.jtattoo.net/HowTo.html

Nguyn Vit Khnh Cng ngh phn mm - K48

53

You might also like