HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
LӠI CҦ0Ѫ1
Em xin cҧ
P ѫQ
3*676 /r
ÿm
9ăQ
Ӌ
W
QKL
WuQKKѭ
6ѫQ
ӟng dү
n, chӍbҧ
o
em trong suӕt thӡi gian thӵc hiӋ
n luұ
QYăQW
ӕt nghiӋ
p, nhӳng lӡi nhұ
n xét, góp ý
cӫ
a thҫ
\ÿmJL~SHPÿ
ӏ
QKKѭ
ӟng ÿ~QJÿ
ҳ
n trong qua trình thӵc hiӋ
Qÿ
Ӆtài.
Em xin chân thành cҧ
PѫQWRjQWK
Ӈthҫ
y cô trong khoa Tin hӑFÿmW
ұ
n tình
dҥ
y dӛ
, truyӅ
Qÿ
ҥ
t cho em nhiӅ
u kiӃ
n thӭc quý báo trong suӕ
t bӕQQăPK
ӑc vӯa
qua.
Xin gӣi lӡi cҧ
PѫQW
ӟi công ty Enclave WURQJQăPWKiQJY
ӯa qua công ty
ÿmW
ҥ
o mӑLÿL
Ӆ
u kiӋ
n thuұ
n lӧLÿ
ӇHPÿѭ
ӧc làm luұ
Q YăQW
ӕt nghiӋ
p tҥ
i cơng ty.
Em xin cҧ
PѫQV
ӵKѭ
ӟng dү
n nhiӋ
t tình cӫa anh Lê Hoàng Hùng, anh HuǤnh
Tҩn Danh và anh Lê Huy ÿmJL~SHPKRjQWKjQKW
ӕt luұ
QYăQW
ӕt nghiӋ
p này.
Ĉj1
̽
ng, nJj\WKiQJQăP
Sinh viên thӵc hiӋ
n
HuǤnh Tҩn Phú
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
1 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
LӠ,&$0Ĉ2$
N
Em xin cam ÿRDQ
1. Nhӳng nӝ
i dung QJKLrQFӭX
trong OXұQYăQ
này là do em thӵc hiӋ
n Gѭ
ӟi sӵ
Kѭ
ӟng dү
n WUӵFWLӃS
cӫa 3*676/r9ăQ6ѫQ
.
2. Mӑ
i tham khҧ
o dùng trong luұ
Q YăQÿ
Ӆ
Xÿѭ
ӧc trích dү
n rõ ràng tên tác giҧ
,
tên cơng trình, thӡLJLDQÿ
ӏ
DÿL
Ӈ
m cơng bӕ.
3. Mӑ
i sao chép không hӧp lӋ
, vi phҥ
m quy chӃÿjR
tҥ
o em xin chӏ
u hoàn toàn
trách nhiӋ
m.
Sinh viên thӵc hiӋ
n
HuǤnh Tҩn Phú
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
2 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
MӨC LӨC
LӠI CҦ0Ѫ1
............................................................................................................... 1
LӠ,&$0Ĉ2$1
......................................................................................................... 2
DANH MӨC CÁC HÌNH VӀ....................................................................................... 7
DANH MӨC CÁC BҦNG ............................................................................................ 9
DANH MӨC CÁC CHӲ VIӂT TҲT .......................................................................... 10
MӢĈҪU .................................................................................................................... 11
1.
Lý do chӑQÿ
Ӆtài ............................................................................................. 11
2.
MөFÿtFK
cӫDÿ
Ӆtài ......................................................................................... 11
3.
ĈӕLWѭ
ӧng và phҥ
m vi nghiên cӭu .................................................................... 12
3.1.
ĈӕLWѭ
ӧng nghiên cӭu .............................................................................. 12
3.2.
Phҥ
m vi nghiên cӭu ................................................................................. 12
3KѭѫQJSKiSQJKLrQF
ӭu ............................................................................. 12
4.
éQJKƭDNKRDK
ӑc và thӵc tiӉ
n cӫDÿ
Ӆtài .......................................................... 13
5.
5.1.
éQJKƭDNKRDK
ӑc ..................................................................................... 13
5.2.
éQJKƭDWK
ӵc tiӉ
n ..................................................................................... 13
Cҩ
u trúc luұ
QYăQ
............................................................................................. 13
6.
&KѭѫQJ
±Nhӳng vҩ
Qÿ
Ӆkӻthuұ
t và công nghӋ
....................................................... 14
1.1.
Giӟi thiӋ
u vӅcác công nghӋ......................................................................... 14
1.1.1.
HӋÿL
Ӆ
u hành Android .......................................................................... 14
1.1.2.
HӋÿL
Ӆ
u hành Linux.............................................................................. 14
1.1.3.
HӋquҧ
n trӏFѫV
ӣdӳliӋ
u DB2 .............................................................. 15
1.1.4.
Ngơn ngӳlұ
p trình Java ....................................................................... 16
1.1.5.
7KѭYL
Ӌ
n OpenCV ................................................................................ 16
1.1.6.
7KѭYL
Ӌ
n JavaCV ................................................................................. 17
1.1.7.
Cách tҥ
o thӫtөFWURQJFѫV
ӣdӳliӋ
u DB2 ............................................. 18
1.2.
Các kӻthuұ
t ................................................................................................ 19
1.2.1.
Xӱlý ҧ
nh ............................................................................................. 19
1.2.2.
Lұ
p trình giao diӋ
n vӟi JFC .................................................................. 21
1.2.3.
Xӱlý luӗng và tұ
p tin .......................................................................... 22
1.2.4.
Lұ
p trình Java trên mҥ
ng ...................................................................... 23
1.3.
Các cơng cөhӛtrӧ....................................................................................... 24
1.4.
KӃ
t luұ
n ....................................................................................................... 25
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
3 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
&KѭѫQJ
±Sӱdөng thuұ
WWRiQ3&$ÿ
Ӈnhұ
n dҥ
ng khuôn mһ
t .................................... 26
2.1.
Các khái niӋ
POLrQTXDQÿ
Ӄ
n nhұ
n dҥ
ng khuôn............................................. 26
2.1.1.
HӋthӕng sinh trҳ
c hӑc ......................................................................... 26
2.1.2.
HӋthӕng nhұ
n dҥ
ng khuôn mһ
t ............................................................ 26
2.1.3.
HӋthӕng xác minh ............................................................................... 26
2.1.4.
HӋthӕng nhұ
n dҥ
QJWƭQK
-WƭQK
............................................................... 26
2.1.5.
HӋthӕng nhұ
n dҥ
QJWƭQK
-ÿӝng ............................................................. 26
2.1.6.
HӋthӕng nhұ
n dҥ
QJÿ
ӝng-ÿӝng............................................................ 27
2.1.
Thuұ
t toán PCA ........................................................................................... 27
2.1.1.
Giӟi thiӋ
u vӅthuұ
t toán PCA ............................................................... 27
2.1.2.
&iFEѭ
ӟFFѫE
ҧ
n cӫ
a thuұ
t toán PCA ................................................... 27
2.2.
Sӱdөng JavaCV và thuұ
WWRiQ3&$ÿ
Ӈnhұ
n dҥ
ng khn mһ
t ...................... 27
2.2.1.
Eigenface là gì? ................................................................................... 28
2.2.2.
Cách nhұ
n dҥ
ng khn mһ
t .................................................................. 28
2.2.3.
Tính khoҧ
n cách giӳa hai hình ҧ
nh ....................................................... 28
2.2.4.
Giҧ
PNtFKWKѭ
ӟc bҵ
ng PCA ................................................................. 29
2.2.5.
Dò phù hӧp tӕi thiӇ
u ............................................................................ 29
2.2.6.
Ĉӏ
QKQJKƭDNK{QJJLDQFRQ
.................................................................. 30
2.2.7.
Không gian con PCA ........................................................................... 30
2.2.8.
ChiӃ
u dӳliӋ
Xÿ
Ӄ
n không gian con ........................................................ 31
2.2.9.
Tính khoҧ
n cách giӳa hai khn mһ
t .................................................... 32
2.2.10.
Thành phҫ
n chính cӫa hình ҧ
nh ............................................................ 32
2.2.
Nhұ
n xét vӅthuұ
t toán PCA ......................................................................... 33
&KѭѫQJ
±Xây dӵng hӋthӕng hӛtrӧÿL
Ӆ
u tra tӝi phҥ
m ............................................. 35
3.1.
Phân tích yêu cҫ
Xÿ
һ
c tҧchӭFQăQJF
ӫa hӋthӕng ........................................ 35
3.1.1.
Yêu cҫ
u vӅchӭFQăQJ
.......................................................................... 35
3.1.2.
Yêu cҫ
u vӅphҫ
n cӭng .......................................................................... 35
3.1.3.
Yêu cҫ
u vӅphҫ
n mӅ
m .......................................................................... 35
3.1.4.
Ĉһ
c tҧchӭFQăQJSK
ҫ
n mӅ
m ................................................................ 36
3.1.5.
6ѫÿ
ӗchӭFQăQJ
.................................................................................. 40
3.1.6.
6ѫÿ
ӗkhӕi diӉ
n tҧcách hoҥ
Wÿ
ӝng cӫa hӋthӕng ................................... 41
3.1.7.
6ѫÿ
ӗkiӃ
n trúc hӋthӕng ...................................................................... 51
3.2.
Phân tích, thiӃ
t kӃFѫV
ӣdӳliӋ
u ................................................................... 52
3.2.1.
/ѭ
ӧFÿ
ӗquan hӋgiӳa các bҧ
QJWURQJFѫV
ӣdӳliӋ
u .............................. 52
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
4 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
3.2.2.
3.3.
Phân tích dӳliӋ
u tӯng bҧ
ng .................................................................. 54
Phân tích và thiӃ
t kӃgiao diӋ
n ..................................................................... 57
3.3.1.
Danh sách giao diӋ
n ............................................................................. 57
3.3.2.
Giao diӋ
n chính .................................................................................... 59
3.3.3.
Giao diӋ
n dị tìm khn mһ
t ................................................................. 60
3.3.4.
Giao diӋ
n nhұ
n dҥ
ng khuôn mһ
t ........................................................... 62
3.3.5.
Giao diӋ
QÿăQJQK
ұ
p ............................................................................ 63
3.3.6.
Giao diӋ
QWKD\ÿ
әi mұ
t khҭ
u................................................................. 65
3.3.7.
Giao diӋ
n tìm kiӃ
m thơng tin ................................................................ 66
3.3.8.
Giao diӋ
n máy chӫ............................................................................... 67
3.3.9.
Giao diӋ
QWKrPQJѭ
ӡi........................................................................... 69
3.3.10.
Giao diӋ
n duyӋ
tҧ
nh tӯthҿnhӟandroid ................................................ 70
3.3.11.
Giao diӋ
n gӣi ҧ
QKÿ
Ӄ
n server nhұ
n dҥ
ng ............................................... 71
3.3.12.
Giao diӋ
n hiӇ
n thӏthông tin nhұ
n dҥ
ng tӯserver .................................. 72
3.4.
ThiӃ
t kӃgiao tiӃ
p giӳa Client-Server ........................................................... 75
3.4.1.
Giӟi thiӋ
u ............................................................................................. 75
3.4.2.
Cách giao tiӃ
p giӳa Client-Server......................................................... 75
3.4.3.
Tin nhҳ
n giao tiӃ
p ................................................................................ 75
3.4.4.
Mô hình tin nhҳ
n giao tiӃ
p ................................................................... 76
3.4.5.
Nhұ
n xét .............................................................................................. 78
3.5.
KӃ
t quҧÿҥ
Wÿѭ
ӧc ......................................................................................... 78
3.5.1.
ĈăQJQK
ұ
p vào hӋthӕng .......................................................................... 78
3.5.2.
HӋthӕng nhұ
n diӋ
n tӝi phҥ
m ................................................................... 79
3.5.3.
Chӑn mӝt ҧ
nh tӯWKѭP
өc......................................................................... 80
3.5.4.
Dị tìm khn mһ
t .................................................................................... 80
3.5.5.
Nhұ
n diӋ
n khuôn mһ
t ............................................................................... 81
3.5.6.
7KD\ÿ
әi mұ
t khҭ
u ................................................................................... 82
3.5.7.
Tìm kiӃ
m thơng tin .................................................................................. 82
3.5.8.
Sӱa thơng tin cӫa mӝWQJѭ
ӡi .................................................................... 84
3.5.9.
Thêm mӝWQJѭ
ӡLYjRFѫV
ӣdӳliӋ
u ........................................................... 85
3.5.10.
Màn hình hiӇ
n thӏcác ҧ
nh tӯthҿnhӟÿL
Ӌ
n thoҥ
i ....................................... 86
3.5.11.
Màn hình gӣi ҧ
nh cҫ
n nhұ
n dҥ
ng.............................................................. 87
3.5.12.
Màn hình nhұ
n thơng tin tӯserver. ........................................................... 88
KӂT LUҰN ................................................................................................................ 89
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
5 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
1.
.ӃWOXұQ
........................................................................................................... 89
2.
+ѭӟQJSKiWWULӇQ
............................................................................................. 89
TÀI LIӊU THAM KHҦO ........................................................................................... 90
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
6 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
DANH MӨC CÁC HÌNH VӀ
7rQKuQKYӁ
STT
1
Hình 1.1. BiӇ
XWѭ
ӧng cӫa hӋÿL
Ӆ
u hành Android
2
+uQK%LӇXWѭӧQJFӫDKӋÿLӅXKjQK
3
+uQK%LӇXWѭӧQJFӫDKӋTXҧQWUӏ
4
+uQK%LӇXWѭӧQJQJ{QQJӳOұSWUu
5
+uQK%LӇXWѭӧQJWKѭYLӋQ2SHQ&9
6
Hình 2.1. .KRҧQFiFK(XFOLGHDQG
12FKRÿLӇPWURQJ'
7
Hình 2.2. %rQSKҧLÿѭӡQJWKҷQJQӕLEDÿLӇP
Hình 2.3. %rQ SKҧL KuQK ҧQK FKR QJѭӡL
8
WKjQKSKҫQFKtQKÿѭӧF[HPQKѭOjHLJH
9
+uQK6ѫ
ÿӗ8VHFDVHWәQJTXiW
10
+uQK6ѫÿӗFKӭFQăQJFӫDKӋWKӕQ
11
+uQK6ѫÿӗNKӕLGLӉQWҧFiFKKRҥ
12
+uQK6ѫÿӗNKӕLGLӉQWҧÿăQJQKұ
13
+uQK6ѫÿӗNKӕLGLӉQWҧWKrPPӝW
14
Hình 3.6: 6ѫÿӗNKӕLGLӉQWҧWuPNLӃPWK{Q
15
+uQK6ѫÿӗNKӕLGLӉQWҧFKӍQKVӳ
16
+uQK6ѫÿӗNKӕLGLӉQWҧ[yDPӝW
17
+uQK6ѫÿӗNKӕLGLӉQWҧWKrPPӝW
ӋWKӕQJ
+uQK6ѫÿӗNKӕLGLӉQWҧWuPNLӃ
18
WKӕQJ
+uQK6ѫÿӗNKӕLGLӉQWҧFKӍQKV
19
WKӕQJ
20
+uQK6ѫÿӗNKӕLGLӉQWҧ[yDPӝW
21
+uQK.KRҧQFiFK
(XFOLGHDQGFKRÿLӇP
22
+uQK6ѫÿӗP{KuQKOӟS
23
+uQK/ѭӧFÿӗTXDQKӋJLӳDFiFE
24
+uQK*LDRGLӋQFKtQK
25
+uQK*LDRGLӋQGRWuPNKX{QPһW
26
+uQK*LDRGLӋQQKұQGLӋQNKX{Q
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
7 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
27
+uQK*LDRGLӋQQKұQGLӋQNKX{Q
28
+uQK*LDRGLӋQÿәLPұWNKҭX
29
+uQK*LDRGLӋQWuPNLӃPWK{QJW
30
+uQK*LDRGLӋQPi\FKӫ
31
+uQK*LDRGLӋQWKrPQJѭӡL
32
+uQK*LDRGLӋQJӣLҧQKÿӃQVHUY
33
+uQK*LDRGLӋQKLӇQWKӏWK{QJW
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
8 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
DANH MӨC CÁC BҦNG
STT
7rQEҧQJ
1
%ҧQJ'LVWULFW
2
%ҧQJ3URYLQFH
3
%ҧQJ:DUG
4
%ҧQJ3RSXODWLRQB*URXSV
5
%ҧQJ3HUVRQ
6
%ҧQJ(PSOR\HH
7
%ҧQJ5ROH
8
%ҧQJ
'DQKViFKJLDRGLӋQ
9
%ҧQJ*LDRGLӋQFKtQK
10
%ҧQJ*LDRGLӋQGzWuPNKX{QPһ
11
%ҧQJ*LDRGLӋQQKұQGҥQJNKX{Q
12
%ҧQJ
*LDRGLӋQÿăQJQKұS
13
%ҧQJ
*LDRGLӋQÿәLPұWNKҭX
14
%ҧQJ
*LDRGLӋQWuPNLӃPWK{QJ
tin
15
%ҧQJ
*LDRGLӋQPi\FKӫ
16
%ҧQJ
*LDRGLӋQWKrPQJѭӡL
17
%ҧQJ
*LDRGLӋQGX\ӋWҧQKWӯWKҿQKӟ
18
%ҧQJ
*LDRGLӋQJӣLҧQKÿӃQVHUYHUQ
19
%ҧQJ
*LDRGLӋQJӣLҧQKÿӃQVHUYHUQ
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
9 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
DANH MӨC CÁC CHӲ VIӂT TҲT
STT
9LӃWWҳW7KXұWQJӳWLӃQJDQK
7LӃQJYLӋW
1
JFC
Java Foundation Class
2
PCA
Principal Component Analysis
3
TCP/IP
4
OpenCV
Open Source Computer Vision
5
JavaCV
Java Computer Vision
Transmission Control Protocol/ IP
Code
Face Recognition
6
*LDRWKӭF7&3,3
1KұQGҥQJNKX{Q
PһW
dBASE II Database file
7
DB2
9
SVN
Subversion (version control system)
10
JDT
Java Development Toolkit
11
PDE
Plug-in Development Environment
12
IDE
IDE (Integrated Development
Enviroment)
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
10 HuǤnh Tҩ
+ӋTXҧQWUӏFѫ
OLӋXFӫD,%0
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
MӢ ĈҪU
1. Lý do chӑQÿ
Ӆtài
Trong nhӳQJ QăP
ҫ
Q ÿk\
J ӭng dө
FiF
ng vӅnhұ
n dҥ
ng khuôn mһ
t ngày
càng phát triӇ
QYjÿѭ
ӧc ӭng dөng rҩ
WFDRĈmFyQKL
Ӆ
XSKѭѫQJSKiSQK
ұ
n dҥ
ng
khn mһ
WQJѭ
ӡi khác nhau, tuy nhiên mӛLSKѭѫQJSKiSÿ
Ӆ
u có nhӳQJѭXÿL
Ӈ
m
và hҥ
n chӃriêng cӫ
DQy'Rÿyÿ
ӇsӱdөQJSKѭѫQJSKiSQK
ұ
n dҥ
ng hiӋ
u quҧcòn
phөthuӝc vào nhiӅ
u yӃ
u tӕ.
HӋthӕ
ng nhұ
n dҥ
ng khn mһ
t vӕn có phҥ
m vi ӭng dөng lӟn nên viӋ
c
phát triӇ
n hӋthӕng nhұ
n dҥ
ng khuôn mһ
WQJѭ
ӡLWKHRFiFSKѭѫQJSK
ӟi có ý
QJKƭDK
Ӄ
t sӭc quan trӑ
ng.
Trong cuӝ
c sӕ
QJÿ
ӇbiӃ
t thơng tin vӅmӝWQJѭ
ӡi thì dӵa vào: tên, sӕchӭng
PLQKWKѭ«1KѭQJÿ{LNKLFK~QJWDPX
ӕn biӃ
t thơng tin vӅmӝ
WQJѭ
ӡi thơng qua
mӝt hình ҧ
QKĈL
Ӆ
u này chӭng tӓrҵ
ng nhұ
n dҥ
ng khn mһ
t là vҩ
Qÿ
Ӆquan trӑ
ng
và cҫ
n thiӃ
t hiӋ
QQD\ÿ
һ
c biӋ
WOjWURQJOƭQKY
ӵFÿL
Ӆ
u tra tӝi phҥ
PĈyFKtQKOj
do em chӑ
Qÿ
Ӆtài:
³+
Ӛ TRӦ Ĉ,
ӄU TRA TӜI PHҤM THÔNG QUA ӬNG DӨNG NHҰN
DҤNG KHN MҺ7´
ĈӇcó mӝ
t hӋthӕng nhұ
n dҥ
ng khn mһ
t vӟi chҩ
W
ӧng
Oѭ
cao, thӡi gian
nhanh và giҧ
m thiӇ
XGѭWK
ӯa dӳliӋ
X(PÿmWL
Ӄ
p cұ
n vӟi thuұ
WWRiQ3&$ÿ
Ӈlҩ
y
thành phҫ
n chính cӫ
a khn mһ
t và các cơng nghӋmӟi nhҵ
m góp phҫ
n tҥ
o nên
mӝt hӋthӕng nhұ
n dҥ
ng hồn chӍ
nh.
2. MөFÿtFKF
ӫDÿ
Ӆtài
-
Tìm hiӇ
u vӅTX\WUuQKÿ
Ӈphát triӇ
n mӝt phҫ
n mӅ
m hồn chӍ
nh.
-
Tìm hiӇ
u vӅthuұ
t toán PCA ӭng dөng tҥ
o ra mӝt sҧ
n phҭ
m hồn chӍ
QKÿ
Ӈ
giúp viӋ
c tìm kiӃ
PWK{QJWLQÿѭ
ӧc nhanh KѫQJL~Sÿ
ӥcác cҧ
nh sát trong
TXiWUuQKÿL
Ӆ
u tra và tìm kiӃ
m tӝi phҥ
m.
-
Tìm hiӇ
u vӅcác cơng nghӋQKѭ $QGURLG
OpenCV, JavaCV, JFC, DB2,
và Linux.
-
Tҥ
o ra mӝ
t hӋthӕng nhұ
n dҥ
ng khn mһ
t trên máy tính và mӝt hӋthӕng
nhұ
n dҥ
ng khn mһ
WWUrQÿL
Ӌ
n thoҥ
LGLÿ
ӝng. HӋthӕQJWUrQÿL
Ӌ
n thoҥ
i di
ÿӝ
ng sӁlҩ
y thông tin tӯhӋthӕ
ng trên máy tính thơng qua mҥ
ng Internet.
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
11 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
-
Sӱdөng các công cөvà hӋÿL
Ӆ
u hành miӉ
QSKtÿ
Ӈtҥ
o ra mӝ
t sҧ
n phҭ
m mã
nguӗn mӣphө
c vөcho nhiӅ
u mөFÿtFKNKiFQKDXQKѭQJN
chҩ
WWKѭѫQJP
ҥ
i.
3. Ĉӕ
LWѭ
ӧng và phҥm vi nghiên cӭu
3.1. Ĉӕ
LWѭ
ӧng nghiên cӭu
-
Cách ӭng dө
ng thuұ
WWRiQ3&$ÿ
ӇU~WWUtFKFiFÿ
һ
FWUѭQJWUrQNKX{
һ
t.
-
Sӱdөng JavaCV ÿ
ӇFjL
һ
t thuұ
ÿt tốn PCA ӭng dөng nhұ
n diӋ
n khn
mһ
t.
-
Các thông tin cҫ
n thiӃ
Wÿ
Ӈ[iFÿ
ӏ
nh mӝW QJѭ
ӡLQKѭ6
ӕchӭQJ PLQKWKѭ
hӑtên, quê quán...
-
CӣsӣdӳliӋ
u DB2 và cách tҥ
o thӫtө
c hàm.
-
Ngơn ngӳlұ
p trình Java.
-
HӋÿL
Ӆ
u hành Linux.
-
HӋÿL
Ӆ
u hành Android.
-
Cách truyӅ
n dӳliӋ
u giӳDÿL
Ӌ
n thoҥ
i và máy tính.
-
Các cơng cөhәtrӧcho viӋ
c lұ
SWUuQKQKѭ(FOLSVHYjQH
cөquҧ
n lý phiên bҧ
n SVN.
3.2. Phҥm vi nghiên cӭu
VӅFѫV
ӣdӳliӋ
u: Trong phҥ
m vi cӫDÿ
Ӆtài chӍsӱdөng hӋquҧ
n trӏFѫV
ӣdӳ
liӋ
u miӉ
n phí (DB2) quҧ
n lý thông tin các nhân cӫa mӑLQJѭ
ӡi trong mӝt thành
phӕ.
VӅmһt thuұ
t toán: ChӍnghiên cӭu thuұ
t toán ӣmӭF
ӝÿ
Fѫ
ҧ
nE
và ӭng
dө
ng nó trong viӋ
c tҥ
o ra hӋthӕng nhұ
n dҥ
ng.
Phҥm vi kӃ
t nӕ
i giӳa các hӋthӕng: GRÿ
Ӆtài chӍӣmӭFÿ
ӝthӱnghiӋ
m nên
viӋ
c kӃ
t nӕ
i giӳa các hӋthӕng sӁsӱdөng mҥ
QJ/$1FyQJKƭDOjK
Ӌthӕ
ng trên
ÿL
Ӌ
n thoҥ
LGLÿ
ӝng sӁkӃ
t nӕi vӟi hӋthӕng trên máy tính thơng qua mҥ
ng cөc bӝ.
4. 3KѭѫQJSKiSQJKLrQF
ӭu
ĈӅtài tiӃ
n hành nghiên cӭXWKHRFiFEѭ
ӟc sau:
1. Thu thұ
p và nghiên cӭu các tài liӋ
XFyOLrQTXDQÿ
Ӄ
Qÿ
Ӆtài.
2. Nghiên cӭu thuұ
t tốn PCA
3. Tìm hiӇ
XWKѭYL
Ӌ
n giúp xӱlý hình ҧ
nh OpenCV và JavaCV.
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
12 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
4. Tìm hiӇ
u vӅngơn ngӳlұ
SWUuQK-DYDÿ
Ӈlұ
p trình cho phҫ
n mӅ
m.
5. Sӱdө
QJ-DYD&9FjLÿ
һ
t thuұ
WWRiQ3&$ÿ
Ӈnhұ
n dҥ
ng khn mһ
t
6. Tìm hiӇ
u vӅhӋÿL
Ӆ
u hành Linux
7. Tìm hiӇ
u vӅFѫV
ӣdӳliӋ
u DB2
8. Phân tích các u cҫ
u, chӭFQăQJF
ӫa hӋthӕng.
9. ThiӃ
t kӃYjFjLÿ
һ
t hӋthӕng
5. Ý QJKƭDNKRDK
ӑ
c và thӵc tiӉ
n cӫDÿ
Ӆtài
5.1. éQJKƭDNKRDK
ӑ
c
Tìm hiӇ
Xӧ
ÿѭ
c cách nhұ
n dҥ
ng khn mһ
t thơng qua viӋ
c sӱdө
ng thuұ
t
toán PCA và ӭng dө
QJWKѭYL
Ӌ
Q-DYD&9ÿ
ӇFjLÿ
һ
t thuұ
t toán.
5.2. éQJKƭDWK
ӵc tiӉ
n
Tҥ
RUDÿѭ
ӧc mӝt hӋthӕ
ng hӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
PJL~SFѫTXDQDQ
Ӄ
t
kiӋ
m thӡi gian và cơng sӭc trong viӋ
c tìm kiӃ
m thơng tin.
6. Cҩu trúc luұQYăQ
&KѭѫQJ
±Nhӳng vҩ
Qÿ
Ӆkӻthuұ
t và cơng nghӋ
Trình bày các vҩ
Q
Ӆÿ
kӻthuұ
t và cơng nghӋÿӇxây dӵng hӋthӕng nhұ
n
dҥ
ng.
&KѭѫQ
g 2 ±Sӱdө
ng thuұ
WWRiQ3&$ÿ
Ӈnhұ
n dҥ
ng khuôn mһ
t
TUuQKFѫE
ҧ
n vӅthuұ
t tốn PCA và cách nhұ
n dҥ
ng khn mһ
t.
&KѭѫQJ
±Xây dӵng hӋthӕng hӛtrӧÿL
Ӆ
u tra tӝi phҥ
m
Phân tích, thiӃ
t kӃvà xây dӵng hӋthӕng
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
13 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
&KѭѫQJ
±Nhӳng vҩQÿ
Ӆkӻthuұt và công nghӋ
1.1.
Giӟi thiӋ
u vӅcác công nghӋ
1.1.1. HӋÿL
Ӆ
u hành Android
Android là hӋÿL
Ӆ
X KjQK
Ӌ
n thoҥ
WUrQ
L GL
ӝngÿL
phát
ÿtriӇ
n bӣi Google và
dӵa trên nӅ
n tҧ
QJ/LQX[7Uѭ
ӟFÿk\$QGURLGÿѭ
ӧc phát triӇ
n bӣi công ty liên hӧp
$QGURLGVDXÿyÿѭ
ӧc Google mua lҥ
LYjRQăP
Các nhà phát triӇ
n viӃ
t ӭng dөng cho Android dӵa trên ngôn ngӳJava. Sӵ
ra mҳ
t cӫ
D$QGURLGYjRQJj\WKiQJQăP
ҳ
n vӟi sӵthành lұ
p cӫa liên
minh thiӃ
t bӏcҫ
m tay mã nguӗn mӣ, bao gӗm 78 công ty phҫ
n cӭng, phҫ
n mӅ
m
và viӉ
n thông nhҵ
m mөFÿtQKW
ҥ
o nên mӝ
t chuҭ
n mӣFKRÿL
Ӌ
n thoҥ
LGLÿ
ӝng trong
WѭѫQJODL
Hình 1.1. BiӇ
XWѭ
ӧng cӫa hӋÿL
Ӆ
u hành Android
1.1.2. HӋÿL
Ӆ
u hành Linux
Linux là tên gӑ
i cӫa mӝ
t hӋÿL
Ӆ
u hành máy tính YjFNJQJOjWrQ
hҥ
t nhân cӫa
hӋÿL
Ӆ
u hành. Nó có lӁlà mӝ
t ví dөnә
i tiӃ
ng nhҩ
t cӫ
a phҫ
n mӅ
m tӵdo và cӫa
viӋ
c phát triӇ
n mã nguӗn mӣ.
3KLrQEҧQ/LQX[ÿҫXWLrQGR
Linus Torvalds YLӃWYjRQăP
1991, lúc ông còn
OjPӝWVLQKYLrQFӫD
Ĉҥ
i hӑ
c Helsinki WҥL
Phҫ
n LanÐQJOjPYLӋFPӝW
VD\WURQJYzQJQăPOLrQWөFYjFKRUD
Q/LQX[YjRQă
%ӝSKұQFKӫ\ӃXQj\ÿѭӧFSKiWWULӇQYj
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
14 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
GNU General Public License 'R ÿy Pj EҩW Fӭ DL FNJQJ F
QJXӗQFӫD/LQX[
Hình 1.2. BiӇ
XWѭ
ӧng cӫa hӋÿL
Ӆ
u hành Linux
Sӱdөng Linux thay cho Windows
HӋÿL
Ӆ
u hành Windows và hӋÿL
Ӆ
X KjQK
Ӆ/LQX[
có nhӳQJ ѭX
ÿ
Ӈ
m và ÿL
nhӳng hҥ
n chӃriêng cӫDQy7KHRQKѭP
өFÿtFKF
ӫDÿ
Ӆtài là tҥ
o ra mӝt hӋthӕ
ng
hồn tồn miӉ
n phí, khơng mang mө
F ÿtFKҥ
WKѭѫQJ
L 'R
ӋÿL
Ӆ
ÿy
uPhànhK
/LQX[ÿѭ
ӧFÿiQKJLiFD
RKѫQÿ
Ӈxây dӵng thӕng.
1.1.3. HӋquҧn trӏcѫV
ӣdӳliӋ
u DB2
DB2 là mӝ
t hӋquҧ
n trӏFѫV
ӣdӳliӋ
u quan hӋ
, mӝt bӝphұ
n cӫa dòng sҧ
n
phҭ
m quҧ
n trӏWK{QJ WLQ
ӧc coi là'%
sҧ
n phҭ
P
ÿѭFѫ
ӣdӳliӋ
VX
ҫ
uÿtiên sӱ
dө
ng SQL. DB2 phát hành lҫ
Qÿ
ҫ
XWLrQYjRQăPYjK
iӋ
QÿDQJV
ҹ
n dùng cho
mӝt phҥ
m vi rӝ
ng các nӅ
n hӋÿL
Ӆ
u hành, bao gӗm Linux, Unix và Windows.
Hình 1.3. BiӇ
XWѭ
ӧng cӫa hӋquҧn trӏFѫV
ӣdӳliӋ
u DB2
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
15 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuụn m
t 2012
*LLWKLXY'%([SUHVV
-C
3KPPPPi\FKGOLX'%([SUHVV
-&OjVQSKPWKXF
DB2 Express-&OjSKLrQEQPLQSKtNK{QJJL
&Kà&ảWURQJ'%([SUHVV
-&OjYLWWWFDW&QJ
NhQJL
m mi n
i b
t ca DB2 Express-C
-
Tdo phát triӇ
n
-
Tӵdo triӇ
n khai
-
Tӵdo phân phӕi
-
Không giӟi hҥ
n
1.1.4. Ngôn ngӳlұ
p trình Java
-DYD Oj PӝW
lұ
p trình
QJ{Q
GҥQJ
QJӳ
OұS WUuQK KѭӟQJ ÿӕL
SKҫQOӟQQJ{QQJӳOұSWUuQKWK{QJWKѭӡQJ
Pi\ KRһF Pm
WK{QJ
QJXӗQ
GӏFK
NKL FKҥ\ -DYD ÿѭӧF W
QJXӗQWKjQKE\WHFRGHE\WHFRGHVDXÿyV
FiFKQj\-DYDWKѭӡQJFKҥ\QKDQKKѫQQKӳ
QKѭ3\WKRQ3HUO3+3«
&~SKiS-DYDÿѭӧFYD\P
ѭӧQQKLӅXWӯ&&QKѭQJ
ÿӕLWѭӧQJÿѫQJLҧQKѫQYjtWWtQKQăQJ[
Hình 1.4. %LӇXWѭӧQJQJ{QQJӳOұSWUuQ
1.1.5. 7KѭYL
Ӌ
n OpenCV
2SHQ&9OjWKѭYL
Ӌ
n mã nguӗn mӣcӫ
a intel vӅthӏgiác máy tính. Nó cung
cҩ
p mӝt bӝmã nguӗ
n bao gӗPKjQJWUăPKjPO
ӟp dӵa trên các thuұ
t toán vӅxӱ
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
16 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
lý ҧ
QKFNJQJQKѭ&RPSXWHU
ӳC/C++.
YLVLRQGQJQJ{Q
Open CV thӇhiӋ
n sӵ
ÿDG
ҥ
ng cӫ
a trí tuӋnhân tҥ
RĈѭ
ӧc ӭng dө
ng nhiӅ
u trong các bài toán nhұ
n dҥ
ng
mһ
t, dị tìm mһ
t, phát hiӋ
n mһ
t, lӑ
F.DOPDQ«
Hình 1.5. BiӇ
XWѭ
ӧQJWKѭYL
Ӌ
n OpenCV
1.1.6. 7KѭYL
Ӌ
n JavaCV
JavaCV là mӝ
t bao bӑ
c mà cho phép truy cұ
SWKѭYL
Ӌ
n OpenCV mӝt cách
trӵtiӃ
p tӯbên trong JVM(Java Virtual Machine) và nên tҧ
ng Android. JavaCV
bao bӑ
c C API bҩ
t cӭQѫLQjRFyWK
Ӈvà C++ API khi cҫ
n thiӃ
t. JavaCV hәtrӧtҩ
t
cҧcác hàm trong OpenCV.
x Mӝ
t ví dөgiӳa OpenCV và JavaCV
Ĉk\OjP
ӝ
t ví dөviӃ
t bҵ
QJ&GQJÿ
Ӈmӣmӝ
t hình ҧ
nh, tҥ
o mӝt cӱa sә,
hiӇ
n thӏhình ҧ
nh trong cӱa sәvà chӣSK~WWUѭ
ӟc khi thoát.
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
17 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
Ví dөWUrQÿѭ
ӧc viӃ
t lҥ
i bҵ
ng Java sӱdөng JavaCV.
x Sӱdөng JavaCV thay cho OpenCV
1Kѭ FK~QJ
Ӄ
t khiWD
viӃ
t bҵ
ÿm
ng ngôn
EL
ngӳlұ
S WUuQK QjR
Ӈ
m
FNJQJ
mҥ
QKYjÿL
Ӈ
m yӃ
u riêng cӫDQyĈ
ӕi vӟi C/C++ khi lұ
p trình giao diӋ
n là mӝt vҩ
n
ÿӅrҩ
WNKyNKăQQyFzQSK
өthuӝ
c nhiӅ
u vào hӋÿL
Ӆ
u hành nӟLPjQyÿѭ
ӧc thӵc
thi... Trong phҥ
m vi cӫDÿ
Ӆtài này, do sӱdөng nhiӅ
u vӅgiao diӋ
QYjÿ
ӇKѭ
ӟng
ÿӃ
n mӝ
t sҧ
n phҭ
m hoàn chӍ
QKQrQHPÿmFKR-DYDWKD\FK
1.1.7. Cách tҥo thӫtөFWURQJFѫV
ӣdӳliӋ
u DB2
x Cách tҥo thӫtөFOѭXWU
ӳ
Cú pháp
Thӫtө
FOѭXWU
ӳÿѭ
ӧc tҥ
o bӣi câu lӋ
nh CREATE PROCEDURE vӟLF~SKiSQKѭ
sau:
CREATE PROCEDURE Tên_thͯ
_tͭc [(Danh_sách_tham_s͙)]
[WITH RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION]
AS
Các_câu_l͏
nh_cͯ
a_thͯ_tͭc
7URQJÿy
Tên_thͯ
_tͭ
c: Tên cӫ
a thӫtө
c cҫ
n tҥ
o. Tên phҧ
i tuân theo qui tҳ
Fÿ
ӏ
nh
GDQKYjNK{QJÿѭ
ӧFYѭ
ӧt quá 128 ký tӵ.
Danh_sách_tham_s͙
: Các tham sӕcӫa thӫtөFÿѭ
ӧc khai báo ngay sau
tên thӫtө
c và nӃ
u thӫtөc có nhiӅ
u tham sӕthì các khai báo phân cách
nhau bӣi dҩ
u phҭ
y. Khai báo cӫa mӛi mӝt tham sӕtӕi thiӇ
u phҧ
i bao
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
18 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
gӗm hai phҫ
n: Tên tham sӕÿѭ
ӧc bҳ
Wÿ
ҫ
u bӣi dҩ
u @, KiӇ
u dӳliӋ
u cӫa
tham sӕ
RECOMPILE: 7K{QJWKѭ
ӡng, thӫtөc sӁÿѭ
ӧc phân tích, tӕLѭXYjG
ӏ
ch
sҹ
n ӣlҫ
n gӑL
ҫ
uÿ
tiên. NӃ
u tuǤchӑ
Q :,7+ 5(&203,/(
ӧc chӍ
ÿѭ
ÿӏ
nh, thӫtө
c sӁÿѭ
ӧc dӏ
ch lҥ
i mӛ
LNKLÿѭ
ӧc gӑ
i.
ENCRYPTION: Thӫ tөc sӁ ÿѭ
ӧc mã hoá nӃ
u tuǤ chӑn WITH
(1&5<37,21ÿѭ
ӧc chӍÿӏ
nh. NӃ
u thӫtөFÿmÿѭ
ӧc mã hoá, ta không
thӇ[HPÿѭ
ӧc nӝi dung cӫa thӫtөc.
Các_câu_l͏
nh_cͯa_thͯ_tͭc: Tұ
p hӧp các câu lӋ
nh sӱdөng trong nӝi
dung thӫ tөc. Các câu lӋ
nh nàycó thӇ ÿһ
t trong cһ
p tӯ khố
BEGIN...END hoһ
c có thӇkhơng
x Thӵc thi thӫtөc
- ĈӇthӵc thi mӝ
t thӫtөc ta thӵc hiӋ
n: Execute Ten_Store_Procedure
Danh_sách_các_tham_sӕ(Hoһ
c
EXEC
Ten_Store_Procedure
Danh_sách_các_tham_sӕ)
-
ĈӇchӍ
nh sӱa mӝt Stored Procedure có sҹ
n: sӱ dө
ng lӋ
nh Alter
Procedure
ĈӇ xóa mӝt Stored Procedure: sӱ dөng lӋ
nh Drop Procedure
Ten_Store_Procedure
ĈӇÿ
әi tờn mt Stored Procedure ta dựng l
QKVSBUHQDPHàWrQ
ả
àWrQBVSBP
Lả
xem n
i dung Stored Procedure ta dùng sp_helptext tên_sp
x Các Loҥi Stored Procedure
Stored procedure có thӇÿѭ
ӧFFKLDWKjQKQKyPQKѭVD
1. System Stored Prcedure
2. Local Stored Procedure
3. Temporary Stored Procedure
4. Extended Stored Procedure
5. Remote Stored Procedure
1.2.
Các kӻthuұt
1.2.1. Xӱlý ҧnh
x ChuyӇ
Qÿ
ә
Lÿ
ӏ
nh dҥng hình ҧnh
ĈӇWKD\ÿ
әLÿ
ӏ
nh dҥ
ng cӫa hình ҧ
nh, ta tiӃ
QKjQKWKHRFiFEѭ
ӟc sau:
1. Import cv
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
19 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
2. Tҧ
i hình ҧ
nh cҫ
n chuyӇ
Qÿ
ә
Lÿ
ӏ
nh sang lên bӝnhӟtrong bҵ
ng cách sӱ
dөQJKjPFY/RDG,PDJH0³WrQ
ÿѭ
ӡng dү
n).
3. /ѭX KuQK
ҧ
nh vӟL
ӏ
nhÿdҥ
ng mong muӕn bҵ
ng cách sӱdөng hàm
VY6DYH,PDJH³WrQÿѭ
ӡng dү
Q´OR
ҥ
i hình ҧ
nh)
x Cҳt ҧnh
Ѵ
Ĉr
F
ă
ғ
W
P{W
K
Õ
Q
D
Q
K
W
ҥ
L
Y
ӏ
W
U
t
(x, y) Fyÿ
ӝrӝng là w YjFyÿ
ӝcao là h trong
ҕ
Ѵ
ҒK
Java ta tiӃ
QKjQKWKHRFiFEѭ
ӟc sau:
1. Tҥ
Rÿ
ӕ
LWѭ
ӧng thuӝ
c lӟp BufferedImage.
2. Gán hình ҧ
QK FKR
ӕLӧng
Wѭ
ÿvӯa tҥ
o bҵ
ng các sӱ dөng hàm
,PDJH,2UHDGQHZ)LOHÿѭ
ӡng dү
n"));
3. Tҥ
o mӝ
Wÿ
ӕ
LWѭ
ӧng mӟi thuӝc lӟS%XIIHUHG,PDJHÿ
ӇOѭXN
Ӄ
t quҧ
4. Cҳ
WKuQKFNJWKHRY
ӏWUt[\
Fyÿ
ӝrӝQJOjZYjÿ
ӝFDROjKVDXÿ
gán
FKRÿ
ӕ
LWѭ
ӧng mӟi. Sӱdөng hàm sau:
Image.getSubimage(x, y, w, h)
x 7KD\ÿ
ә
LNtFKWKѭ
ӟc cӫa hình ҧnh
ĈӇWKD\ÿ
ӗLNtFKWKѭ
ӟc cӫ
a hình ҧ
nh, ta tiӃ
QKjQKWKHRFiFEѭ
ӟc sau:
1. Import cv
2. Tҧ
i hình ҧ
nh cҫ
n chuyӇ
Qÿ
ә
Lÿ
ӏ
nh sang lên bӝnhӟtrong bҵ
ng cách sӱ
dөQJKjPFY/RDG,PDJH0³WrQÿѭ
ӡng dү
n).
3. Tҥ
o mӝ
t ma trұ
QFyNtFKWKѭ
ӟc mӟi
4. 7KD\
әLÿ
NtFK
ӟF WKHR
WKѭ ӟcNtFK
mong muӕ
nWKѭ
bҵ
ng cách sӱdөng
hàm cv.Resize(ҧ
nh gӕc, ҧ
nh mӟi)
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
20 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
1.2.2. Lұ
p trình giao diӋ
n vӟi JFC
x Giӟi thiӋ
u vӅJFC
6ZLQJ Oj
Ӌ
n lұ
p WKѭ
trình mӣrӝ
YL
ng cӫ
a Java. Nó mӣrӝQJ FiF
ӕL
ӧng
Wѭ
ÿ
giao diӋ
Q
ӗÿ
hӑ
a Fѫ
ҧ
nE
cӫ
D -DYD 6ZLQJ
ӧc gӑL Oj
FzQ
Ӌ
n WKѭ
JFCÿѭ
(JavaYL
Foundation Class). Khi muӕ
n sӱdөQJFiFÿ
ӕLWѭ
ӧQJÿ
ӗhoҥcӫDWKѭYL
Ӌ
n này, ta
phҧ
i khai báo chӍthӏ
:
x Tҥ
RWUuQKÿѫQFKX
ӝ
t phҧ
i cho giao diӋ
n
ĈӇtҥ
o menu chuӝt phҧ
i cho giao diӋ
n ta tiӃ
QKjQKWKHRFiFEѭ
ӟc sau:
1. Tҥ
o mӝ
Wÿ
ӕ
LWѭ
ӧng thuӝc lӟp JpopupMenu
2. Tҥ
o mӝ
t lӟp lҳ
ng nghe sӵkiӋ
n khi kích chuӝt phҧ
i
3. Thêm sӵkiӋ
n lҳ
ng nghe chuӝt cho JpopupMenu
4. Tҥ
o mӝW
ӕ
L
ÿ ӧng
Wѭ
thuӝc lӟS -PHQX,WHP VDX
ào menuÿy WKrP
chuӝ
t phҧ
i
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
21 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khuôn mһ
t 2012
1.2.3. Xӱlý luӗng và tұp tin
Tҩ
t cҧFKѭѫQJ WUuQK
Ӆ
u phҧ
i thõa
Pi\
mãn yêu
WtQ
cҫ
u nhұ
ÿp và xuҩ
t dӳ
liӋ
XGyOjFѫE
ҧ
n nhӳQJ Ju Pi\WtQKÿHPO
ҥ
i lӧLtFKFKRQJѭ
ӡi sӱdөng, vì vұ
y
mӛi ngơn ngӳlұ
p trình phҧ
LFyFiFKQjRÿyÿ
Ӈthӵc hiӋ
n u cҫ
u trên. Ngôn ngӳ
lұ
SWUuQKÿyQJJyLU
ҩ
t nhiӅ
u lӟp cho phép chúng ta thӵc hiӋ
n khҧQăQJ[X
ҩ
t/nhұ
p
rҩ
t phong phú, tӯviӋ
c tҥ
o nên nhӳng luӗng xuҩ
t nhұ
p trӯXWUѭ
ӧQJFKRÿ
Ӄ
n nhӳng
thao tác phӭc tҥ
SQKѭWU
ӵc tiӃ
p truy cұ
Sÿ
Ӄ
n tұ
p tin.
x Tҥ
o mӟi mӝt luӗng
x Ĉӑ
c file text vào trong mҧng byte
x Xóa mӝt file bҩt kǤ
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
22 HuǤnh Tҩ
HӛtrӧÿL
Ӆ
u tra tӝ
i phҥ
m thông qua ӭng dөng nhұ
n dҥ
ng khn mһ
t 2012
1.2.4. Lұ
p trình Java trên mҥng
x Giao thӭc TCP/IP
ĈӇhai hay nhiӅ
u máy tính nói chuyӋ
n vӟi nhau, chúng phҧ
i dùng chung
mӝt ngơn ngӳ: chҷ
ng hҥ
n máy tính này phҧ
i gӱi nhӳng tín hiӋ
XJuÿ
Ӄ
n máy kia và
máy kia phҧ
i gӱi trҧlҥ
i nhӳng tín hiӋ
XQjRÿyÿ
Ӈnhұ
n biӃ
t. Trên Internet ngày
nay viӋ
c hai máy có thӇWUDRÿ
әLÿѭ
ӧc vӟLQKDXÿDV
ӕÿ
Ӆ
u dӵDWKHRTX\ѭ
ӟc hay
giao thӭc cӕt lõi là TCP/IP. Theo giao thӭc này mӛi máy tính sӁÿѭ
ӧF
һ
tÿ
cho
mӝt sӕriêng biӋ
t gӑ
LOjÿ
ӏ
a chӍIP.
x Cách chuyӇ
n dӳliӋ
u trên mҥng
Quá trình chuyӇ
n dӳliӋ
u trên mҥ
ng diӉ
n ra khá phӭc tҥ
p. Chi tiӃ
t quá trình
Qj\WѭѫQJW
ӵQKѭWURQJWK
ӵc tӃta gӱLWKѭKD\EѭXSK
ҭ
PWUѭ
ӟc hӃ
t phҧ
LJKLU}ÿ
ӏ
a
chӍQѫLÿ
Ӄ
QVDXÿyFyWK
Ӈgӱi WK{QJWKѭ
ӡng hay gӱLÿ
ҧ
m bҧ
RQJѭ
ӡi nhұ
n sau khi
nhұ
Qÿѭ
ӧc có thӇhӗ
i âm trҧlӡLOjÿmQK
ұ
Qÿ
ӫhoһ
c bӏmҩ
t PiW Ju ÿyWURQJ
trình chuyӇ
n tҧ
L1Jѭ
ӡi gӱi có thӇgӱi lҥ
i nhӳng phҫ
n bӏmҩ
t hoһ
c không cҫ
n gӱi
nӳa.
Cách chuyӇ
n dӳliӋ
X
ҧ
mÿbҧ
o dӵa vào giao thӭc TCP còn cách chuyӇ
n
NK{QJÿ
ҧ
m bҧ
o dӵa vào giao thӭc UDP.
Giao thӭc TCP gӱi tӯng gói dӳliӋ
XÿLQѫLQK
ұ
n theo giao thӭc này phҧ
i có
trách nhiӋ
m thơng báo và kiӇ
m tra xem dӳliӋ
u EDRÿmÿ
Ӄ
Qÿ
ӫKD\FKѭDFy
ӛi
hay khơng có lӛ
L7Uѭ
ӟc khi chuyӉ
n dӳliӋ
u bao giӡFNJQJFyV
ӵkӃ
t nӕ
i giӳa các
máy gӱi và máy nhұ
n. TruyӅ
n dӳliӋ
XWKHR7&3WKѭ
ӡng áp dөng cho các dӏ
ch vө
trӵc tuyӃ
QWUrQ,QWHUQHWÿzLK
ӓ
Lÿ
ӝtin cұ
y cao.
x Lұ
p trình mҥng thông qua Socket
7Uѭ
ӟc khi yêu cҫ
u mӝ
t dӏ
ch vөtrên máy chӫthӵc hiӋ
QӅ
X
ÿL Ju ÿy Pi\
khách phҧ
i có khҧQăQJ
Ӄ
t nӕiN
ÿѭ
ӧc vӟi máy chӫ. Quá trình kӃ
t nӕ
L Qj\
ӧc
ÿѭ
Java thӵc hiӋ
QWK{QJTXDFѫFK
ӃtrӯXWѭ
ӧng hóa gӑ
i là Soket. KӃ
t nӕ
i giӳa máy
n Phú ±Luұ
QYăQW
ӕt nghiӋ
p
23 HuǤnh Tҩ