Upload
hoang-dang-vu-anh
View
219
Download
0
Embed Size (px)
Citation preview
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
1/36
BO CO X L NH GVHD: TS.HUNH HUHNG
BO CO X L NH
TI: NHN DNG BIN S XE
H V TN:
TRN NH TRUNG, KIU TIN
LP: 11TLT
SVTH: KIU TIN TRN NH TRUNG Trang 1
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
2/36
BO CO X L NH GVHD: TS.HUNH HUHNG
I. NI DUNG NGHIN CU
I.1 Gii thiu
Chng trnh nhn dng bin s xe l chng trnh dng c nh bin s
xe ly ra di dng k t lu tr hay in n. Bi v vic lu tr hay in n nguynmt ci nh th khc hn so vi lu tr hay in n mt vi k t. Chnh v th mvic nhn dng bin s xe l rt cn thit v cng kh l quan trng
nh bin s ca xe my c dng nhn dng l mt bin s xe thtc chp bng my nh hay my quay ... Trong thc t him khi no m my nhhay my quay li ch chp c mi ci bin s ca xe khng thi m n s chp hnhca c ci xe c th c c ngi trong ni chung l cn c cnh bn ngoi.
Nhim v u tin l phi tch c vng ch cha bin s ra v chuyn thnh mt
ci nh mi a vo h thng nhn dng ny x l. Vy th nh s dng trongh thng nhn dng l nh c x l mt ln ri ch khng phi l t nhin mc. Nhim v chnh trong bi l s dng cc k thut x l nh xc nh vngcha bin s, xc nh v tr tng k t, nng cao thng s ca nh to iu kind dng cho vic nhn dng.
Cng c thc hin: Microsoft Visual Studio 2008
I.2 Ni dung nghin cu
I.2.1 c nh v hin th nh u vo
Chng ta s s dng m hnh Raster c nh v hin th nh u vo
M hnh Raster l cch biu din nh thng dng nht hin nay, nh cbiu din di dng ma trn cc im (im nh). Thng thu nhn qua cc thitb nh camera,scanner. Tu theo yu cu thc th m mi im nh c biudin qua 1 hay nhiu bt
M hnh Raster thun li cho hin th v in n. Ngy nay cng ngh phn
cng cung cp nhng thit b thu nhn nh Raster ph hp vi tc nhanh vcht lng cao cho c u vo v u ra. Mt thun li cho vic hin th trong mitrng Windows l Microsoft a ra khun dng nh DIB (Device IndependentBitmap) lm trung gian. Hnh sau th hin quy trnh chung hin th nh Rasterthng qua DIB
Trong qu trnh x l nh, u tin phi tin hnh c tp nh v chuynvo b nh ca my tnh di dng ma trn s liu nh. Khi lu tr di dng tp,nh l mt khi gm mt s cc byte. c ng tp nh ta cn hiu ngha cc
phn trong cu trc ca tp nh nh nu trn. Trc tin, ta cn c phn mou (Header) ly cc thng tin chung v thng tin iu khin. Vic c ny s
SVTH: KIU TIN TRN NH TRUNG Trang 2
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
3/36
BO CO X L NH GVHD: TS.HUNH HUHNG
dng ngay khi ta khng gp c ch k (Ch k y thng c hiu l mtm ch ra nh dng nh v i (version) ca n) mong mun. Da vo thng tiniu khin, ta xc nh c v tr bng mu v c n vo b nh
I.2.2 S ha nh u vo
nh en trng ch bao gm 2 mu: mu en v mu trng. Ngi ta phnmc en trng thnh L mc Nu s dng s bit B=8 bt m ha mc entrng (hay mc xm) thL c xc nh :
L=2^B (trong v d ca taL=2^8= 256 mc)
NuLbng 2,B=1, ngha l ch c 2 mc: mc 0 v mc 1, cn gi l nhnh phn. Mc 1 ng vi mu sng, cn mc 0 ng vi mu ti. Nu L ln hn 2 ta
c nh a cp xm. Ni cch khc, vi nh nh phn mi im nh c m hatrn 1 bit, cn vi nh 256 mc, mi im nh c m ha trn 8 bit. Nh vy,vi nh en trng: nu dng 8 bit (1 byte) biu din mc xm, s cc mc xmc th biu din c l 256. Mi mc xm c biu din di dng l mt snguyn nm trong khong t 0 n 255, vi mc 0 biu din cho mc cng en nht v 255 biu din cho mc cng sng nht
nh nh phn kh n gin, cc phn t nh c th coi nh cc phn tlogic. ng dng chnh ca n c dng theo tnh logic phn bit i tng nhvi nn hay phn bit im bin vi im khc
Sau khi nh u vo c phn ngng t ng thnh nh ch vi hai musng v ti vi mc phn ngng mc nh ca PitureBox trong Visual 2008 th tas thc hin bc chuyn nh thnh ma trn im nh tng ng cc phn t cama trn cng ch c hai gi tr l 0 v 1
I.2.3 Thay i mc phn ngng
Phn ngng nh u vo ch cn li 2 mu (ti v sng). Tin cho vic
x l nh sau nyGi s ta c nh I ~ kch thc m n, hai s Min, Max v ngng khi :
K thut tch ngng c th hin
for (i = 0; i < m; i + +)for (j = 0; j < n; j + +)I [i, j] = I [i, j] > = ? Max : Min;
* ng dng: Nu Min = 0, Max = 1 k thut chuyn nh thnh nh en
trng c ng dng khi qut v nhn dng vn bn c th xy ra sai st nn thnhnh hoc nh thnh nn dn n nh b t nt hoc dnh
SVTH: KIU TIN TRN NH TRUNG Trang 3
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
4/36
BO CO X L NH GVHD: TS.HUNH HUHNG
I.2.4 Tng gim sng cho nhTng gim sng vo tng phn cho nh lm ni bt cc ch s ln
khi y phn ngng s cho ra nh c cht lng tt hn
Ch cn mt vi chm nh im en trong nh cng c th gy ra kt qu sailch trong qu trnh nhn dng v vy nu c th loi b c n th l rt tt
- Gi s ta c I ~ kch thc m n v s nguyn c
Khi , k thut tng, gim c sng c th hin
for (i = 0; i < m; i + +)
for (j = 0; j < n; j + +)I [i, j] = I [i, j] + c;
- Nu c > 0: nh sng ln
- Nu c < 0: nh ti i
I.2.5 Loi b vin en
Bin s xe s c nhn dng trong nh ln nh vo khung en bao quanh bin
s chnh v th m ta cn loi b khung ny ra khi ma trn nh. Khi trong matrn nh s ch cn li nn v k t
I.2.6 D bin xc nh v tr tng k t
y l mt k thut x l nh kh quan trng c s dng trong phn mmnhn dng ny
D bin nh c mt ngha quan trng trong vic lm gim s lng d liuv lc i nhng thng tin d tha, trong khi gi li nhng c tnh cu trc quan
trng ca bc nh. C nhiu cch thc hin vn ny. Tuy nhin cc phngphp khc nhau c th nhm vo 2 mc chnh, Gradient v Laplacian. Trongchng trnh ta s dng Gradient. Phng php d bin theo gradient thc hin
bng cch d tm im cc i v cc tiu t bc nh ngun
Theo nh ngha, gradient l mt vct c cc thnh phn biu th tc thay i gi tr ca im nh, ta c:
SVTH: KIU TIN TRN NH TRUNG Trang 4
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
5/36
BO CO X L NH GVHD: TS.HUNH HUHNG
Trong , dx, dy l khong cch (tnh bng s im) theo hng x v y
* Nhn xt: Tuy ta ni l ly o hm nhng thc cht ch l m phng v xp xo hm bng cc k thut nhn chp (cun theo mu) v nh s l tn hiu ri rcnn o hm khng tn ti
Gi s chng ta c tn hiu nh sau, vi mt cnh c ch ra do s binthin t ngt ca cng sng nh hnh di y:
Nu chng ta ly gradient ca tn hiu ny, chng ta c th hnh v nh sau:
R rng th cho ta thy mt im cc i gia bin trong tn hiungun. Phng php nh v mt cnh gi l c tnh lc gradient rt thng dngtrong vic d bin
I.2.7 Khoanh vng tm ch ci v ch s trn nh (Thut ton d bintng qut)
- Bc 1: Xc nh cp nn-vng xut pht- Bc 2: Xc nh cp nn-vng tip theo- Bc 3: La chn im bin vng
- Bc 4: Nu gp li cp xut pht th dng, nu khng quay li bc 2
SVTH: KIU TIN TRN NH TRUNG Trang 5
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
6/36
BO CO X L NH GVHD: TS.HUNH HUHNG
Vic xc nh cp nn-vng xut pht c thc hin bng cch duyt nhln lt t trn xung di v t tri qua phi ri kim tra iu kin la chn cpnn-vng. Do vic chn im bin ch mang tnh cht quy c, nn ta gi nh xxc nh cp nn-vng tip theo l ton t d bin- Ton t d binGi s T l mt nh x nh sau: T: NV NV
(b,r) a (b,r)Gi T l mt ton t d bin c s nu n tho mn iu kin: b,r l cc 8-
lng ging ca rGi s (b,r) NV; gi K(b,r) l hm chn im bin. Bin ca mt dng
c th nh ngha theo mt trong ba cch:o Tp nhng im thuc c mt trn NV, tc l K(b,r)= ro Tp nhng im thuc c trn NV, tc l K(b,r)= bo Tp nhng im o nm gia cp nn-vng, tc l K(b,r) l nhng
im nm gia hai im b v rCch nh ngha th ba tng ng mi cp nn-vng vi mt im bin.Cn i vi cch nh ngha th nht v th hai mt s cp nnvng c th cchung mt im bin
I.2.8 Pht hin bin v tch bin
Bin l vn ch yu trong phn tch nh, cc im trch trn trong qutrnh phn tch ch yu da vo bin
Bin nh l ng danh gii gia cc vng nh cho php xc nh hnhdng ca cc i tng trong nh
Vng nh l tp hp cc im thuc v mt i tng trong nh, cc ngbin khp kn cho php xc nh vng nh
Nhng im thuc vng nh c xm ng u nhau. Nhng im thucvng nh khc nhau c xm chnh lch ln. V vy, hm xm c bc nhyvt hoc bin thin nhanh
VD: i vi nh en trng, mt im c gi l im bin nu n l imen v c t nht mt im trng bn cnh
Xut pht t c s ton hc trn m ta s dng hai phng php pht hinbin:
- Phng php pht hin bin trc tip
- Phng php pht hin bin gin tip
* Phng php pht hin bin trc tip
Phng php ny lm ni bin da vo s bin thin ca nh, pht hinbin nh s dng php ton o hm:
- Nu ly o hm bc nht ca nh ta c phng php Gradient
SVTH: KIU TIN TRN NH TRUNG Trang 6
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
7/36
BO CO X L NH GVHD: TS.HUNH HUHNG
- Nu ly o hm bc hai ca nh ta c phng php Laplace
* Phng php pht hin bin gin tip
K thut d bin v phn vng nh l hai bi ton i ngu v d bin
thc hin phn lp i tng m khi phn lp xong c ngha l phn vngc nh v ngc li khi phn vng c thnh cc i tng ta c th phphin ra bin
Phng php pht hin bin trc tip t ra kh hiu qu, d ci t v tchu nh hng ca nhiu cong nu s bin thin ca nh t ngt th phng phpny t ra km hiu qu. Phng php pht hin bin gin tip tuy kh ci t xongli p dng kh tt cho trng hp bin thin xm nh
Phng php pht hin bin da vo php o hm
Phng php Gradient
Theo nh ngha Gradient l vector c cc thnh phn bin th tc thayi gi tr ca nh theo hai hng x v y. Ta c:
Do lm dngngn t, tuy ta nil ly o hm
ca nh nhng thc cht l m phng v xp x o hm bng cc k thut nhnchp (cun theo mu, v nh s l tn hiu ri rc nn o hm khng tn ti)
VD: dx = dy = 1
f(x) = f(x+1, y) - f(x,y)
f(y) = f(x, y+1) - f(x, y)
Mu ngang A =
1
1-, mu dc: B = ( )11-
=
33330
33330
33330
33330
00000
I ;
=
xxxxx
AI
00000
00000
00000
33330
;
=
x
x
x
x
x
BI
0003
0003
0003
0003
0000
=+
xxxxx
x
x
x
x
BIAI
0003
0003
0003
3330
SVTH: KIU TIN TRN NH TRUNG Trang 7
+=
+=
dy
y)f(x,-dy)yf(x,f(y)
y
y)f(x,
dx
y)f(x,-dy)dx,f(xf(x)
x
y)f(x,
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
8/36
BO CO X L NH GVHD: TS.HUNH HUHNG
K thut Prewitt
K thut nys dng hai mt n nhn chp theo hai hng x v y l:
=
101
101
101
)(xH
;
= 111000
111
)(yH
Cc bc tin hnh:
- Bc 1: Tnh I H(x), I H(y)
- Bc 2: Tnh I H(x) + I H(y)
=
xxxxx
xxxxx
xx
xx
xx
xHI 009
009
006
)( ;
=
xxxxx
xxxxx
xx
xx
xx
yHI 000
000
996
)(
=+
xxxxx
xxxxx
xx
xx
xx
yHIxHI 009
009
9912
)()(
Hay (5 x 5):
=
21012
21012
2101221012
21012
)(xH ;
=
22222
11111
00000
11111
22222
)(yH
K thut Sobel
K thut nys dng hai mt n nhn chp theo hai hng x v y l:
=101
202
101
)(xH ;
=
121
000
121
)(yH
Cc bc tin hnh:
- Bc 1: Tnh I H(x), I H(y)
SVTH: KIU TIN TRN NH TRUNG Trang 8
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
9/36
BO CO X L NH GVHD: TS.HUNH HUHNG
- Bc 2: Tnh I H(x) + I H(y)
K thut Labn
K thut ny s dng 8 mt n nhn chp theo 8 hng: 0o, 45o, 90o, 135o,
180o
, 225o
, 270o
, 360o
.
=
333
303
555
1H ;
=533
503
553
2H ;
=
533
503
533
3H ;
=
553
503
333
4H
=555303
333
5H ;
=355305
333
6H ;
=
335
305
335
7H ;
=
333
305
355
8H
Cc bc tin hnh:
- Bc 1: Tnh I Hi, i = 8,1
- Bc 2: Tnh 8
1I Hi
I.2.9 i snh ma trn nh s tm c vi cc ma trn nh c s dliu cho ra kt qu
S dng mng Neuron v kin thc trong l thuyt nhn dng hun luyncho chng trnh c th nhn dng c cc k t trn bin s xe
Mng Neuron nhn to: (Artificial Neural Network: ANNs) l s ti tobng k thut nhng chc nng ca h thn kinh con ngi vi v s cc
neuron c lin kt truyn thng vi nhau qua mng. Ging nh con ngi,ANNs c hc bi kinh nghim, lu nhng kinh nghim v s dng trongnhng tnh hung ph hp
Trong k thut nhn dng bin s (k t,s), mng neuron t ra u th
hn cc phng php truyn thng ch khng tn thi gian cho th tc tin x
l, lm mnh k t, trch trn c trng Mt khc cc phng php ra quyt
nh trong nhn dng truyn thng c ci t tnh trong chng trnh, khi
mun b sung thm cc mu hc mi phi thit k li chng trnh. Trong khi
SVTH: KIU TIN TRN NH TRUNG Trang 9
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
10/36
BO CO X L NH GVHD: TS.HUNH HUHNG
vi mng neuron, ch cn cung cp mt tp mu vo ra ca d liu mi cho pha
hun luyn l c th b sung vo b nh mng nhng kiu d liu mi m
khng nh hng n cu trc chng trnh ban u
Hun luyn mng neuronMng neuron nhn to phng theo vic x l thng tin ca b no ngi, do
vy c trng c bn ca mng l c kh nng hc, kh nng ti to cc hnh nh
v d liu khi hc. Trong trng thi hc thng tin c lan truyn theo hai chiu
nhiu ln hc cc trng s. C 3 kiu hc chnh, mi kiu hc tng ng vi
mt nhim v hc tru tng. l hc c gim st (c mu), hc khng gim st
v hc tng cng. Thng thng loi kin trc mng no cng c th dng c
cho cc nhim v
- Hc c gim st
Mt thnh phn khng th thiu ca phng php ny l s c mt ca mt
ngi thy ( bn ngoi h thng). Ngi thy ny c kin thc v mi trng th
hin qua mt tp hp cc cp u vo - u ra c bit trc. H thng hc (
y l mng neuron) s phi tm cch thay i cc tham s bn trong ca mnh (cctrng s v cc ngng) to nn mt nh x c kh nng nh x cc u vo
thnh cc u ra mong mun. S thay i ny c tin hnh nh vic so snh gia
u ra thc s v u ra mong mun.
- Hc khng gim st
Trong hc khng c gim st, ta c cho trc mt s d liu x v hm
chi ph cn c cc tiu ha c th l mt hm bt k ca d liu x v u ra ca
mng, f hm chi ph c quyt nh bi pht biu ca bi ton. Phn ln cc
ng dng nm trong vng ca cc bi ton c lng nh m hnh ha thng k,
nn, lc, phn cm
- Hc tng cng
D liu x thng khng c to trc m c to ra trong qu trnh mt
agent tng tc vi mi trng. Ti mi thi im t, agent thc hin hnh ng y t
SVTH: KIU TIN TRN NH TRUNG Trang 10
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
11/36
BO CO X L NH GVHD: TS.HUNH HUHNG
v mi trng to mt quan st xt vi mt chi ph tc thi Ct, theo mt quy trnh
ng no (thng l khng c bit). Mc tiu l mt sch lc la chn hnh
ng cc tiu ha mt chi ph di hn no , ngha l chi ph tch ly mong
i. Quy trnh hot ng ca mi trng v chi ph di hn cho mi sch lcthng khng c bit, nhng c th c lng c. Mng neural nhn to
thng c dng trong hc tng cng nh mt phn ca thut ton ton cc. Cc
bi ton thng c gii quyt bng hc tng cng l cc bi ton iu khin, tr
chi v cc nhim v quyt nh tun t (sequential decision making) khc
SVTH: KIU TIN TRN NH TRUNG Trang 11
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
12/36
BO CO X L NH GVHD: TS.HUNH HUHNG
II. PHNG PHP THC HIN
II.1 c nh v hin th nh u vo
Sau khi c xong cc khi d liu nh vo b nh ta tin hnh nn d liunh. Cn c vo phng php nn ch ra trong phn Header ta gii m c nh.Cui cng l khu hin nh. Da vo s liu nh gii nn, v tr v kch thcnh, cng s tr gip ca bng mu nh c hin ln trn mn hnh
Ta s dng cng c PitureBox trong Visual 2008 thc hin np nh uvo
Hnh 1: Nhp nh vo
SVTH: KIU TIN TRN NH TRUNG Trang 12
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
13/36
BO CO X L NH GVHD: TS.HUNH HUHNG
Click vo Np nh s hin ln ca s chn nh u vo. Sau khi chnnh ta s c hin th nh sau :
Hnh 2: nh c np
chng trnh c th c v hin th c nh ln PitureBox ta c hmnp nh nh sau :
privatevoid btnNap_Click(object sender, EventArgs e){
this.Enabled = false; OpenFileDialog OpenFileDialog = newOpenFileDialog();
OpenFileDialog.InitialDirectory = Application.StartupPath + "\\Image";OpenFileDialog.Filter = "Bitmap files (*.bmp)|*.bmp|Jpeg files (*.jpg)|*.jpg|All
valid files|*.*";OpenFileDialog.FilterIndex = 2;OpenFileDialog.RestoreDirectory = true;
if(DialogResult.OK == OpenFileDialog.ShowDialog()){
try{
m_Bitmap = (Bitmap)Bitmap.FromFile(OpenFileDialog.FileName, false);
SVTH: KIU TIN TRN NH TRUNG Trang 13
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
14/36
BO CO X L NH GVHD: TS.HUNH HUHNG
this.ptbAnhgoc.Image = newBitmap(m_Bitmap); this.ptbAnhgoc.SizeMode = PictureBoxSizeMode.StretchImage;
m_Undo = newBitmap(m_Bitmap); this.btnNangCL.Enabled = true; this.grbChacNang.Enabled = false;
this.btnNhanDang.Enabled = true; int i = int.Parse(txtMuc1.Text);//mc nh l 100m_Undo = (Bitmap)m_Bitmap.Clone();
if(ProcessImage.Nguongdon(m_Undo, i)){
this.ptbAnhXuLy.Image = m_Undo; this.ptbAnhXuLy.SizeMode = PictureBoxSizeMode.StretchImage;
}}
catch (Exception ex){
MessageBox.Show("Can not load image: " + ex.Message);
}} //end if this.Enabled = true;
}
II.2 S ha nh u vo
nh u vo c kch c th no th ma trn c kch c nh th
Hnh 3 : S ha nh
SVTH: KIU TIN TRN NH TRUNG Trang 14
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
15/36
BO CO X L NH GVHD: TS.HUNH HUHNG
chuyn nh sau khi phn ngng v nh nh phn ta s dng hm sau :
publicstaticint[,] SoHoaAnh(Bitmap b){
BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height),
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); int stride = bmData.Stride;System.IntPtrScan0 = bmData.Scan0;
int[,] matrananhgoc = newint[b.Width, b.Height]; unsafe
{byte* p = (byte*)(void*)Scan0; int nOffset = stride - b.Width * 3; for(int y = 0; y < b.Height; y++)
{ for(int x = 0; x < b.Width; x++)
{
if(p[0] == 0) matrananhgoc[x, y] = 1; else matrananhgoc[x, y] = 0;p += 3;
}p += nOffset;
}}b.UnlockBits(bmData);
return matrananhgoc; byte* p = (byte*)(void*)Scan0; int nOffset = stride - b.Width * 3; for(int y = 0; y < b.Height; y++)
{ for(int x = 0; x < b.Width; x++)
{ if(p[0] == 0) matrananhgoc[x, y] = 1; else matrananhgoc[x, y] = 0;
p += 3;}p += nOffset;
}}b.UnlockBits(bmData);
return matrananhgoc;}
II.3 Thay i mc phn ngng
PitureBox trong Visual 2010 th c mc phn ngng mc nh nhngi vi mt s nh th mc l khng ph hp v vy cn phi thay i phhp
Ta s s dng hm sau :
// Phn ngng nh u vo thnh nh ch vi 2 mu.
publicstaticbool Nguongdon(Bitmap b, int nNguong){
SVTH: KIU TIN TRN NH TRUNG Trang 15
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
16/36
BO CO X L NH GVHD: TS.HUNH HUHNG
if(nNguong < 0 || nNguong > 255) returnfalse; byte nVal = 0;
BitmapData bmData = b.LockBits(newRectangle(0, 0, b.Width, b.Height),ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
int stride = bmData.Stride;System.IntPtrScan0 = bmData.Scan0; unsafe
{ byte* p = (byte*)(void*)Scan0; int nOffset = stride - b.Width * 3; for(int y = 0; y < b.Height; y++)
{ for(int x = 0; x < b.Width; x++)
{nVal = (byte)p[1];
if(nVal < nNguong) { nVal = 0; }
else { nVal = 255; }p[0] = p[1] = p[2] = (byte)nVal;p += 3;
}p += nOffset;
}}b.UnlockBits(bmData);
returntrue;}
S thay i gia cc mc phn ngng c th hin r rng trn cc nhnh phn u ra.
Vi mc phn ngng 110
Hnh 4: nh c ct ngng mc 110
SVTH: KIU TIN TRN NH TRUNG Trang 16
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
17/36
BO CO X L NH GVHD: TS.HUNH HUHNG
Mc phn ngng 80
Hnh 5: nh c ct ngng mc 80
Mc phn ngng 60
Hnh 6: nh c ct ngng mc 60
II.4 Tng gim sng cho nhMc mc nh :
Hnh 7: sng nh ban u
Trong chng trnh bin tng gim sng l 10.
SVTH: KIU TIN TRN NH TRUNG Trang 17
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
18/36
BO CO X L NH GVHD: TS.HUNH HUHNG
Tng sng :
Hnh 8: nh sau khi tng sng
Gim sng :
Hnh 9: nh sau khi gim tng sng
Hm tng gim sng cho nh :
// hm tng gim sng cho nh.publicstaticbool BrightNess(Bitmap b, int nBrightNess)
{ if(nBrightNess < -255 || nBrightNess > 255) returnfalse; int nVal = 0; BitmapData bmData = b.LockBits(newRectangle(0, 0, b.Width, b.Height),ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); int stride = bmData.Stride;
System.IntPtrScan0 = bmData.Scan0; unsafe
{ byte* p = (byte*)(void*)Scan0;
int nOffset = stride - b.Width * 3; for(int y = 0; y < b.Height; y++)
SVTH: KIU TIN TRN NH TRUNG Trang 18
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
19/36
BO CO X L NH GVHD: TS.HUNH HUHNG
{ for(int x = 0; x < b.Width; x++)
{nVal = (int)(p[0] + nBrightNess);
if(nVal < 0) nVal = 0;
if(nVal > 255) nVal = 255;p[0] = (byte)nVal;nVal = (int)(p[1] + nBrightNess);
if(nVal < 0) nVal = 0; if(nVal > 255) nVal = 255;
p[1] = (byte)nVal;nVal = (int)(p[2] + nBrightNess);
if(nVal < 0) nVal = 0; if(nVal > 255) nVal = 255;
p[2] = (byte)nVal;p += 3;
}
p += nOffset;}}b.UnlockBits(bmData);
returntrue;}
II.5 Loi b vin en
Hnh 10: nh sau khi loi b vin en
Hm loi b vin en :bool timkhung = true;bool hangtren = true, hangduoi = true, cottrai = true, cotphai = true; while (timkhung)
{ if(hangtren)//(A_x,A_y)->(B_x,A_y)
{hangtren = false;
for(int i = A_x; i < B_x+1; i++) if(MaTranAnhGoc[i, A_y] == 1) hangtren = true; if(hangtren) A_y++;
} if(hangduoi)//(A_x,B_y)->(B_x,B_y)
SVTH: KIU TIN TRN NH TRUNG Trang 19
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
20/36
BO CO X L NH GVHD: TS.HUNH HUHNG
{hangduoi = false;
for(int i = A_x; i < B_x+1; i++) if(MaTranAnhGoc[i, B_y] == 1) hangduoi = true; if(hangduoi) B_y--;
} if(cottrai)//(A_x,A_y)->(A_x,B_y){
cottrai = false; for(int i = A_y; i < B_y+1; i++) if(MaTranAnhGoc[A_x, i] == 1) cottrai = true; if(cottrai) A_x++;
} if(cotphai)//(B_x,A_y)->(B_x,B_y)
{cotphai = false;
for(int i = A_y; i < B_y+1; i++)
if(MaTranAnhGoc[B_x, i] == 1) cotphai = true; if(cotphai) B_x--;}
if(!hangtren && !hangduoi && !cottrai && !cotphai) timkhung = false;}
//(A_x,A_y)l to im u cn (B_x,B_y) l ta im cui.
II.6 D bin xc nh v tr tng k t
xc nh c v tr k t trong ma trn nh th ta phi xc nh imen cao nht trong k t :
x = A_x;
y = A_y;
bool tim_vitrixuatphat = true;
while(tim_vitrixuatphat)
if(MaTranAnhGoc[x,y]==1) tim_vitrixuatphat=false; elseif(x==nuatrai) {x=A_x;y++;} else x++;
int[] sovung1 = ProcessImage.DoBien(MaTranAnhGoc,x,y);
Sau khi xc nh c im en cao nht trong k t, ta ly l v trxut pht i d bin ly khung hnh ch nht bao quanh k t
publicstaticint[] DoBien(int[,] bm, int mx, int my){
int[] ketqua = newint[4]; int Max_x, Min_x, Max_y, Min_y;
Min_x = Max_x = mx;Min_y = Max_y = my;
bool check1 = true; bool check2 = true;
int n = 8;//xc nh hng d bin. int a;
SVTH: KIU TIN TRN NH TRUNG Trang 20
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
21/36
BO CO X L NH GVHD: TS.HUNH HUHNG
int x = mx; int y = my; while (check1)
{check2 = true;
while (check2){ switch (n)//nh v v tr
{ case 1:
a = bm[x + 1, y];break; case 2:
a = bm[x + 1, y + 1];break; case 3:
a = bm[x, y + 1];break; case 4:
a = bm[x - 1, y + 1];break;
case 5:a = bm[x - 1, y];break; case 6:
a = bm[x - 1, y - 1];break; case 7:
a = bm[x, y - 1];break; default:
a = bm[x + 1, y - 1];break;}
if(a == 1){
check2 = false;
switch (n){
case 1:x++;n = 8;
break; case 2:
x++; y++;n = 8;
break; case 3:
y++;n = 2;
break; case 4:
x--; y++;n = 2;
break; case 5:
x--;n = 4;
break; case 6:
x--; y--;n = 4;
SVTH: KIU TIN TRN NH TRUNG Trang 21
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
22/36
BO CO X L NH GVHD: TS.HUNH HUHNG
break; case 7:
y--;n = 6;
break;
default:x++; y--;n = 6;
break;}
} else
{ if(n == 8) n = 1; else n++;
}}
if(x < Min_x) Min_x = x;
elseif(x > Max_x) Max_x = x; if(y < Min_y) Min_y = y; elseif(y > Max_y) Max_y = y; if((x == mx) && (y == my)) check1 = false;
}ketqua[0] = Min_x;ketqua[1] = Max_x;ketqua[2] = Min_y;ketqua[3] = Max_y;
return ketqua;}
Sau tch phn trong ma trn nh ra gim ln ca ma trn vkch thc 10x20 sau em i snh im im vi ma trn c s d liu
II.7 Khoanh vng tm ch ci v ch s trn nh
Sau khi ta xc nh c khung hnh ch nht ca k t u tin trn nh thsau ta cn khoanh vng k t li v thc hin tm im en cao nht v d
bin ca k t tip theo
Ta cn xc nh ta im u v im cui ca ma trn nh
(A_x,A_y)l to im u cn (B_x,B_y) l ta im cui. int y; int nuatrai = (int)(A_x + (B_x - A_x) / 4); int nuaphai = (int)(A_x + (B_x - A_x) * 3 / 4); int giua = (int)(A_x + (B_x - A_x) / 2);
Sau l khoanh vng : S vng bn tri, s vng bn phi, vng ch,vng s. sau ln lt tm cc s theo th t 1-2-3-4
SVTH: KIU TIN TRN NH TRUNG Trang 22
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
23/36
BO CO X L NH GVHD: TS.HUNH HUHNG
Hm c s dng :
//s Vng bn tri.int x = A_x;y = A_y;
bool tim_vitrixuatphat = true;
while(tim_vitrixuatphat)if(MaTranAnhGoc[x,y]==1) tim_vitrixuatphat=false; elseif(x==nuatrai) {x=A_x;y++;} else x++;int[] sovung1 = ProcessImage.DoBien(MaTranAnhGoc,x,y);//ly khung thi//s vng bn phix = giua;y = A_y;tim_vitrixuatphat = true;while (tim_vitrixuatphat)if(MaTranAnhGoc[x, y] == 1) tim_vitrixuatphat = false; elseif(x == nuatrai) { x = giua; y++; } elsex--;int[] sovung2 = ProcessImage.DoBien(MaTranAnhGoc, x, y);//chx = giua;y = A_y;tim_vitrixuatphat = true;while (tim_vitrixuatphat)if(MaTranAnhGoc[x, y] == 1) tim_vitrixuatphat = false; elseif(x == nuaphai) { x = giua; y++; } elsex++;int[] chu = ProcessImage.DoBien(MaTranAnhGoc, x, y);//ch sx = B_x;y = A_y;tim_vitrixuatphat = true;
while (tim_vitrixuatphat)
SVTH: KIU TIN TRN NH TRUNG Trang 23
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
24/36
BO CO X L NH GVHD: TS.HUNH HUHNG
if(MaTranAnhGoc[x, y] == 1) tim_vitrixuatphat = false; elseif(x == nuaphai) { x = B_x; y++; } elsex--;int[] chuso = ProcessImage.DoBien(MaTranAnhGoc, x, y);int maxy;if(sovung1[3] > sovung2[3]) maxy = sovung1[3]; else maxy = sovung2[3];
if(sovung2[3] > chu[3]) maxy = sovung2[3]; else maxy = chu[3];if(chu[3] > chuso[3]) maxy = chu[3]; else maxy = chuso[3];////---------------------------------------------------------------------------------------------------nuatrai = (sovung1[1] + sovung2[0]) / 2;nuaphai = (chu[1] + chuso[0]) / 2;//tm s 1x = A_x;y = maxy+1;tim_vitrixuatphat = true;while (tim_vitrixuatphat)if(MaTranAnhGoc[x, y] == 1) tim_vitrixuatphat = false; elseif(x == nuatrai) { x = A_x; y++; } elsex++;
int[] so1 = ProcessImage.DoBien(MaTranAnhGoc, x, y);//tm s 2x = so1[1]+10;y = maxy+1;tim_vitrixuatphat = true;while (tim_vitrixuatphat)if(MaTranAnhGoc[x, y] == 1) tim_vitrixuatphat = false; elseif(x == giua-10) { x = so1[1] + 10; y++;} else x++;int[] so2 = ProcessImage.DoBien(MaTranAnhGoc, x, y);//tm s 3x = giua;y = maxy + 1;
tim_vitrixuatphat = true;while (tim_vitrixuatphat)if(MaTranAnhGoc[x, y] == 1) tim_vitrixuatphat = false; elseif(x == nuaphai) { x = giua; y++; } elsex++;int[] so3 = ProcessImage.DoBien(MaTranAnhGoc, x, y);//tm s 4x = B_x;y = maxy+1;tim_vitrixuatphat = true;while (tim_vitrixuatphat)if(MaTranAnhGoc[x, y] == 1) tim_vitrixuatphat = false; elseif(x == nuaphai) { x = B_x; y++;} elsex--;int[] so4 = ProcessImage.DoBien(MaTranAnhGoc, x, y);//kt quchuoi += ProcessImage.DoiSanhso(ProcessImage.chuan10x20(MaTranAnhGoc, sovung1));chuoi += ProcessImage.DoiSanhso(ProcessImage.chuan10x20(MaTranAnhGoc, sovung2));chuoi += "-";chuoi += ProcessImage.DoiSanhchu(ProcessImage.chuan10x20(MaTranAnhGoc, chu));chuoi += ProcessImage.DoiSanhso(ProcessImage.chuan10x20(MaTranAnhGoc, chuso));chuoi += " ";chuoi += ProcessImage.DoiSanhso(ProcessImage.chuan10x20(MaTranAnhGoc, so1));chuoi += ProcessImage.DoiSanhso(ProcessImage.chuan10x20(MaTranAnhGoc, so2));chuoi += ProcessImage.DoiSanhso(ProcessImage.chuan10x20(MaTranAnhGoc, so3));
chuoi += ProcessImage.DoiSanhso(ProcessImage.chuan10x20(MaTranAnhGoc, so4));lblKetQua.Text += chuoi;
SVTH: KIU TIN TRN NH TRUNG Trang 24
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
25/36
BO CO X L NH GVHD: TS.HUNH HUHNG
this.Enabled = true;}
SVTH: KIU TIN TRN NH TRUNG Trang 25
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
26/36
BO CO X L NH GVHD: TS.HUNH HUHNG
III. KT QU THC HIN
Giao din chnh
Hnh 11: Giao din chng trnh
Cc chc nng ca chng trnh:
- Np nh: thc hin load nh ln chng trnh
- Nng cao nh:
+ Nhp ngng
+ Tng, gim sang ca nh
+ Thay i bc nhy cho chc nng tng gim sang
- Nhn dng: kch hot chc nng nhn dng k t ch v s t nh vo
Sau khi np nh, hin th nh nh phn v nng cao thng s k thut cho
nh t c cht lng tt hn
SVTH: KIU TIN TRN NH TRUNG Trang 26
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
27/36
BO CO X L NH GVHD: TS.HUNH HUHNG
III.1 Cc qu trnh th nghim
a. Qu trnh th nghim 1
Hnh 12: Qu trnh th nghim 1
27Sau khi load nh ln chng trnh, chng ta c th hiu chnh mcngng, sng ti cho nh c tt hn. Vi hnh trn h thng cha nhndng c v chng ta cha hiu chnh chnh xc
Kt qu nhn dng:
b. Qu trnh th nghim 2
SVTH: KIU TIN TRN NH TRUNG Trang 27
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
28/36
BO CO X L NH GVHD: TS.HUNH HUHNG
Hnh 13: Qu trnh th nghim 2
Kt qu nhn dng:
SVTH: KIU TIN TRN NH TRUNG Trang 28
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
29/36
BO CO X L NH GVHD: TS.HUNH HUHNG
c. Qu trnh th nghim 3
Hnh 14: Qu trnh th nghim 3
Kt qu nhn dng:
SVTH: KIU TIN TRN NH TRUNG Trang 29
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
30/36
BO CO X L NH GVHD: TS.HUNH HUHNG
d. Qu trnh th nghim 4
Hnh 15: Qu trnh th nghim 4
Kt qu nhn dng:
SVTH: KIU TIN TRN NH TRUNG Trang 30
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
31/36
BO CO X L NH GVHD: TS.HUNH HUHNG
e. Qu trnh th nghim 5
Hnh 16: Qu trnh th nghim 5
Kt qu nhn dng:
SVTH: KIU TIN TRN NH TRUNG Trang 31
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
32/36
BO CO X L NH GVHD: TS.HUNH HUHNG
f. Qu trnh th nghim 6
Hnh 17: Qu trnh th nghim 6
Sau vi qu trnh th nghim khng thnh cng, ln ny ta hiu chnh hnhnh chnh xc gip cho chng trnh hot ng chnh xc hn. V vy, chngtrnh a ra kt qu nhn dng chnh xc
Kt qu nhn dng:
SVTH: KIU TIN TRN NH TRUNG Trang 32
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
33/36
BO CO X L NH GVHD: TS.HUNH HUHNG
g. Qu trnh th nghim 7
Hnh 18: Qu trnh th nghim 7
SVTH: KIU TIN TRN NH TRUNG Trang 33
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
34/36
BO CO X L NH GVHD: TS.HUNH HUHNG
IV. NH GI KT QU
1. Thc nghim
Nghin cu tin hnh thc nghim trn c s d liu l nh bin s xe my
thu c. Sau khi tin hnh vit chng trnh da trn thut ton nu v x lc s d liu, nghin cu thu c kt qu nh sau:
Bng 1: nh gi thc nghim
Thut ton Thnh cng (%) Li (%)
Tch k t 98.4 1.6
Nhn dng k t 96 4
Kt qu nhn dng chung 93 7
2. V l thuyt
Qua qu trnh tin hnh nghin cu v hon thin ti ny, chng em hiu
r hn, su hn nhng kin thc l thuyt, cch thc x l v cc thut ton thao
tc trn hnh nh ca lnh vc X l nh
Vn dng c nhng kin thc c hc a vo thc tin.
3. V m phng
Thc hin thnh cng vic xy dng ng dng nhn dng hnh nh, theo
di mc tng i n gin nhng vn m bo c nhng chc nng v
yu cu t ra.
4. Mt u im
+ Hon thnh ng tin ra.
+ ti c nhiu tnh ng dng thc tin cao.
+ t c nhng yu cu t ra khi thc hin ti.
5. Mt hn ch
+ ng dng vi giao din kh n gin.
+ Chc nng cn t.
+ Tc x l chm
SVTH: KIU TIN TRN NH TRUNG Trang 34
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
35/36
BO CO X L NH GVHD: TS.HUNH HUHNG
6. Hng pht trin nghin cu:
- Nng cao hiu qu chng trnh nhn dng k t, tch li cc k t trong bin strong cc trng hp bin s b nhiu nhiu, mt mt thng tin do nhiu t iukin mi trng
- Pht trin chng trnh thnh module phn cng trn h vi x l dnh ring chox l tn hiu s khng cn ph thuc vo my tnh, gim nh kch thc ngthi kt hp giao tip vi camera v cc cm bin c th tr thnh mt thit bnhn dng bin s hot ng c lp c th s dng cho cc ng dng c th nu trn
- Nghin cu ngh mt hng ng dng c th l h thng gim st phngtin ra vo mt a im c th v gi xe hon ton t ng.
V y l ti c tnh ng dng cao nn c rt nhiu hng pht trin rng
hn trn nhiu lnh vc khc nhau, c th:
+ Thc hin vic gim st qun l nh gi xe
+ Pht trin thnh nhng ng dng khc trn c s x l nh nh: H
thng bo xe vi phm n .v..v..
SVTH: KIU TIN TRN NH TRUNG Trang 35
7/29/2019 Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe
36/36
BO CO X L NH GVHD: TS.HUNH HUHNG
TI LIU KHAM KHO
[1] A. Lanitis, C.J. Taylor, and T.F. Cootes, An Automatic Face Identification
System Using lexible Appearance Models,Image and Vision Computing, vol. 13,
no. 5, pp. 393-401, 1995.
[2] Andrew King, A Survey of Methods for Face Detection, 2003.
[3] A. Yuille, P. Hallinan, and D. Cohen, Feature Extraction from Faces Using
eformable Templates, Intl J. Computer Vision, vol. 8, no. 2, pp. 99-111, 1992.
[4] D.G. Kendall, Shape Manifolds, Procrustean Metrics, and Complex
Projective Shapes,Bull. London Math. Soc., vol. 16, pp. 81-121, 1984.
[5] E. Osuna, R. Freund, and F. Girosi, Training Support Vector Machines:An Application to Face Detection Proc. IEEE Conf. Computer Vision and
Pattern Recognition, pp. 130-136, 1997.
[6] Fuzhen Huang and Jianbo Su, Multiple Face Contour Detection Using
adaptive Flows, Sinobiometrics 2004, LNCS 3338, pp. 137-143, Springer-Verlag
Berlin eidelberg, 2004.
[7] G. Yang and T. S. Huang, Human Face Detection in Complex
Background,Pattern Recognition, vol. 27, no. 1, pp. 53-63, 1994.
[8] H.P. Graf, T. Chen, E. Petajan, and E. Cosatto, Locating Faces and Facial
Parts, Proc. First Intl Workshop Automatic Face and Gesture Recognition, pp.
41-46, 1995.
[9] J. Canny, A Computational Approach to Edge Detection, IEEE Trans.
Pattern Analysis and Machine Intelligence, vol. 8, no. 6, pp. 679-698, June 1986.
[10] J. Sobottka and I. Pitas, Segmentation and Tracking of Faces in Color
Images, Proc. Second Intl Conf. Automatic Face and Gesture Recognition, pp.
236-241, 1996.