Nhận dạng biển số

download Nhận dạng biển số

of 25

Transcript of Nhận dạng biển số

  • 8/17/2019 Nhận dạng biển số

    1/25

    BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

    KHOA CÔNG NGHỆ THÔNG TINNGHÀNH KHOA HỌC MÁY TÍNH

    BÀI TẬP MÔN: Lý !"#$ %!&% '(%)

    Đ* TÀI: N!&% '(%) +,-% ./ 01 23%) '4%) 5(%) %676%8

    Giáo viên hướng dẫn:

     Nhóm thực hiện : nhóm 10

    Thành viên: 1. Đỗ Văn T !"#

      $.Đ%ng Ng&c T'(n

      ). V* Ng&c +oàn

      ,. -ê Văn i/n

      +à ni .......... ngà........tháng.........năm $011

    1

  • 8/17/2019 Nhận dạng biển số

    2/25

    M49 L49

    I.Gi, !,;" !; !/%) %!&% '(%) +,-% ./ 01

  • 8/17/2019 Nhận dạng biển số

    3/25

    2.1.S/ hóa ?nh đ@u vào

  • 8/17/2019 Nhận dạng biển số

    4/25

    mt cái Anh th5 Chác hHn o với >ư' t4E hB in (n mt vài CD tự. "hInh v5 thJ mà việc

    nh6n d7ng 8i9n ; à 4(t cKn thiJt và c*ng Chá >à L'Bn t4&ng.

    Giới thiệu về ảnh biển số xe

    Mnh 8i9n ; à mt 8i9n ; 7i chR chOP có mỗi cái 8i9n ; cSB à PhAi tách @ưc v?ng chR chXB 8i9n ; 4B thi và ch'9n thành mt cái Anh mới @=mvào hệ th;ng nh6n d7ng nà @9 D.

    V6 th5 Anh à Anh @Z @ưc D mt >Kn 4[i

    chX Chng PhAi >à tự nhiên mà có.

    Cơ sở dữ liệu

    "3 dE >iệ' >à các mB t46n CIch thước 10à mB t46n chR chXB các ; 0 và 1.

     

    4

  • 8/17/2019 Nhận dạng biển số

    5/25

     

    VI dO mB t46n cSB ; 0 như B':

    _0`0`1`1`1`1`1`1`0`0a`_0`1`1`1`1`1`1`1`1`0a`_1`1`1`1`1`1`1`1`1`1a`

    5

  • 8/17/2019 Nhận dạng biển số

    6/25

    _1`1`1`1`0`0`1`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`

    _1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`_1`1`1`0`0`0`0`1`1`1a`

    _1`1`1`1`0`0`1`1`1`1a`_0`1`1`1`1`1`1`1`1`0a`_0`0`1`1`1`1`1`1`0`0aa

     

    "3 dE >iệ' nà d?ng @9 >àm g5b Nó d?ng @9 @;i ánh t5m 4B các CD tự t4ong

     8i9n ;.

    22. NHẬN ẠNG CH S CH CÁI À KU TV 

    1. N7P Anh @K' vàoTB Y dOng cng cO it'4=Fo< t4ong Vi'B> $00 @9 thực hiện n7P Anh @K' vào.

    6

  • 8/17/2019 Nhận dạng biển số

    7/25

    +àm n7P Anh @K' vào:

    private void btnNap_Click(object sender, EventArgs e  !  t"is#Enabled $ %alse&  'penile)ialog 'penile)ialog $ ne* 'penile)ialog(&  'penile)ialog#+nitial)irector $ Application#-tart.p/at" 0+age&

      'penile)ialog#ilter $ itap %iles (#bp#bp7peg %iles(#jpg#jpgAll valid %iles#&  'penile)ialog#ilter+nde8 $ 2&  'penile)ialog#9estore)irector $ tr.e&

      i% ()ialog9es.lt#': $$ 'penile)ialog#-"o*)ialog(  !  tr  !  _itap $

    (itapitap#roile('penile)ialog#ileNae, %alse&  t"is#ptbAn"goc#+age $ ne* itap(_itap&  t"is#ptbAn"goc#-i;e#Enabled $ tr.e&  t"is#grbC"acNang#Enabled $ %alse&  t"is#btnN"an)ang#Enabled $ tr.e&

      int i $ int#/arse(t8t

  • 8/17/2019 Nhận dạng biển số

    8/25

    $. Nh6n d7ng Anh

    $.1. Số hóa ảnh đầu vàoeB' Chi Ph^n ngưfng Anh @K' vào thành Anh chR với hBi mà' áng và t;i th5 tB U thực

    hiện 8ước ch'9n Anh thành mB t46n tư3ng Xng các PhKn tY cSB mB t46n c*ng chR có hBi

    giá t4 >à 0 và 1.

    Mnh @K' vào có CIch cf thJ nào th5 mB t46n có CIch cf như thJ.

    +àm ; hóB Anh như B':

     P'8>ic tBtic int` eo+oBjnh!FitmBP 8#  _  FitmBPBtB 8mBtB k 8.-ocCFit!n=l =ctBng>=!0` 0` 8.idth` 8.+=ight#`2mBg=-ocCod=.=Bd4it=`ipo4mBt.po4mBt$,8PPg8#q  int t4id= k 8mBtB.et4id=q  et=m.2ntt4  ecBn0 k 8mBtB.ecBn0q  int` mBt4BnBnhgoc k n=l int8.idth` 8.+=ightq  'nBr=

      _   8t=s P k ! 8t=s#!voids#ecBn0q  int nrr=t k t4id= u 8.idth s )q  ro4  !int  k 0q 8.+=ightq ww#  _  ro4  !int < k 0q < 8.idthq

  • 8/17/2019 Nhận dạng biển số

    9/25

    $.$. Loại bỏ viền đenFi9n ; ớn nh vào Ch'ng @=n 8Bo L'Bnh 8i9n

    ; chInh v5 thJ mà tB cKn >o7i 8y Ch'ng nà 4B Chyi mB t46n Anh. zhi @ó t4ong mB t46n

    Anh U chR cWn >7i n{n và CD tự.

    bool tik".ng $ tr.e&bool "angtren $ tr.e, "angd.oi $ tr.e, cottrai $ tr.e, cotp"ai $ tr.e&  *"ile (tik".ng  !  i% ("angtren@@(A_8,A_KL(_8,A_  !  "angtren $ %alse&  %or (int i $ A_8& i M _801& i00

      i% (

  • 8/17/2019 Nhận dạng biển số

    10/25

    $.). Dò biên để xác định vị tr t!n" #$ t% 

    Đ9 ( Ch'ng h5nh chE nh6t 8Bo

    L'Bnh CD tự @ó:

    p.blic static intOP )oien(intO,P b, int 8, int   !  intOP ket[.a $ ne* intO4P&  int 

  • 8/17/2019 Nhận dạng biển số

    11/25

      case 1H  a $ bO8 0 1, P& break&  case 2H  a $ bO8 0 1, 0 1P& break&  case 3H  a $ bO8, 0 1P& break&  case 4H  a $ bO8 K 1, 0 1P& break&  case 5H  a $ bO8 K 1, P& break&  case 6H  a $ bO8 K 1, K 1P& break&  case IH  a $ bO8, K 1P& break&  de%a.ltH  a $ bO8 0 1, K 1P& break&  G  i% (a $$ 1  !

      c"eck2 $ %alse&  s*itc" (n  !  case 1H  800&  n $ J&  break&  case 2H  800& 00&  n $ J&  break&  case 3H  00&

      n $ 2&  break&  case 4H  8KK& 00&  n $ 2&  break&  case 5H  8KK&  n $ 4&  break&  case 6H  8KK& KK&  n $ 4&  break&

      case IH  KK&  n $ 6&  break&  de%a.ltH  800& KK&  n $ 6&  break&

    11

  • 8/17/2019 Nhận dạng biển số

    12/25

      G  G  else  !  i% (n $$ J n $ 1& else n00&  G  G  i% (8 M

  • 8/17/2019 Nhận dạng biển số

    13/25

      i% (

  • 8/17/2019 Nhận dạng biển số

    14/25

      @@ngan $ tr.e&  @@*"ile (ngan  @@!  @@ ngan $ %alse&  @@ n.ap"ai00&  @@ %or (int i $ a8 0 1& i M _& i00  @@ i% (

  • 8/17/2019 Nhận dạng biển số

    15/25

      c".oi 0$/rocess+age#)oi-an"so(/rocess+age#c".an182(iệ'

    $.|. ,ối +ánh và trả #-t .uả nh/n 0ạn" 

    T4ong 8i9n ; àcKn thiJt.

    T4ong 8iJn ; chR có mt chE cWn >7i >à ; cA` tB >7i @i t5m t\ng CD tự th=o t\ngv?ng v5 v6 việc à ; hB chE th5 @Z có }n 4[i.

    15

  • 8/17/2019 Nhận dạng biển số

    16/25

    @@ c".Un Bi t n" 2 D. sang a trn t]mng ng#  p.blic static intO,P -ooaAn"(itap b  !

      itap)ata b)ata $ b#>ockits(ne* 9ectangle(, , b#idt",b#eig"t, +age>ock

  • 8/17/2019 Nhận dạng biển số

    17/25

      i% (9k[ L ket[.a!

    ket[.a $ 9k[& so $i&G

     G

      i% (ket[.a M 16

  • 8/17/2019 Nhận dạng biển số

    18/25

      case 6H  ret.rn w-w&  case IH  ret.rn w?w&  case JH  ret.rn w=w&  de%a.ltH  ret.rn wxw&  G

      G

      @@tac" doi t.ong va c".yn 182  p.blic static intO,P c".an182(intO,P b, intOP a@@8, BT rTngn" BV. vDo  !  intO,P ket[.atac"$ne* intOaO1P K aOP 0 1,aO3P K aO2P 0 1P&  %or (int j $ & j M$ (aO3P K aO2P& j00  %or (int i $ & i M$ (aO1P K aOP& i00

      ket[.atac"Oi, jP $ bOi 0 aOP, j 0 aO2PP&

      intO,P ket[.a $ ne* intO1, 2P&

      do.ble tile_8 $ (aO1PKaOP @ 1&  do.ble tile_ $ (aO3PKaO2P @ 2&  int 8et $ (int((tile_8 tile_ @ 2& 

    int n, , k, ", de $ &  %or (int  $ & M 2& 00  !  n $ (int(tile_ &  $ (int(tile_ ( 0 1&

      %or (int 8 $ & 8 M 1& 800  !  k $ (int(tile_8 8&

    " $ (int(tile_8 (8 0 1&  de $ &  %or (int j $ n& j M & j00  %or (int i $ k& i M "& i00  de 0$ ket[.atac"Oi, jP&  i% (de L 8et ket[.aO8, P $ 1& else ket[.aO8, P $ &  G  G

      ret.rn ket[.a&  G

      p.blic static bool rig"tNess(itap b, int nrig"tNess  !  i% (nrig"tNess M K255 nrig"tNess L 255  ret.rn %alse&  int nal $ &

    1J

  • 8/17/2019 Nhận dạng biển số

    19/25

      itap)ata b)ata $ b#>ockits(ne* 9ectangle(, , b#idt",b#eig"t, +age>ock

  • 8/17/2019 Nhận dạng biển số

    20/25

    ). T;i ư' hóB @i9m Anh @9 nh6n d7ng Chi ri>= Anh Chng @Sch(t >ưng

    Đ9 hệ th;ng nh6n d7ng @ưc chInh

  • 8/17/2019 Nhận dạng biển số

    21/25

      p 0$ n'%%set&  G  G  b#=nlockits(b)ata&  ret.rn tr.e&

      G

    19n" "iả) đ: +án" cho ảnhTăng giAm @ áng vào @ tư3ng PhAn cho Anh @9 >àm n~i 86t các chE ; >ên Chi

    ( Ph^n ngưfng U cho 4B Anh có ch(t >ưng t;t h3n.

    @@ "D t}ng gi BT s\ng c"o n"#

    p.blic static bool rig"tNess(itap b, int nrig"tNess  !  i% (nrig"tNess M K255 nrig"tNess L 255  ret.rn %alse&  int nal $ &  itap)ata b)ata $ b#>ockits(ne* 9ectangle(, , b#idt",b#eig"t, +age>ock

  • 8/17/2019 Nhận dạng biển số

    22/25

      G  p 0$ n'%%set&  G  G  b#=nlockits(b)ata&  ret.rn tr.e&

      G

     L;c nhi

  • 8/17/2019 Nhận dạng biển số

    23/25

    -oBd Anh:

     Nh6n d7ng:

    23

  • 8/17/2019 Nhận dạng biển số

    24/25

     NJ' m';n n^ng cBo ch(t >ưng Anh:

    TB Y dOng nt ‚n^ng cBo Anhƒ

    -c nà các chXc năng cSB n^ng cBo U hiện >ên @9 D Anh @K' vào và m';n

    tiJP tOc nh6n d7ng th5 nh(n „

  • 8/17/2019 Nhận dạng biển số

    25/25

    Đ…N+ G2… +2†x ‡xˆT V‰ zŠT -x‹N

    N!=%) W,-5 9X% !(% 9!$

    ‡Y >D với @ chInh inh tinh!V: @ áng L'á cBo U Chng nh6n d7ng @ưc#

    N!=%) % W 9X% ,$Z 49

    "Ai tiJn t;c @ nh6n d7ng

    "Ai tiJn th6t toán dW 8iên và @;i ánh