Xla 11tlt Trandinhtrung Kieutien Nhandangbiensoxe

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.