Phân bố điểm ảnh

Một phần của tài liệu Thiết kế hệ thống nhúng nhận dạng chữ viết tay tiếng việt (Trang 59)

HVTH: Lê Hồng Phúc Trang 53

Hình 3.15: Minhăh atríchăđ cătr ngătheoăphơnăb ăđi mă nh

 Phơnăb ăđi mă nhătheoădòng

Đ cătr ngănƠyăd aătrênăt ngăs ăđi mătr ngăphơn b ătrênăt ngădòngă nh.ăCácăgiáă tr ăđ cătr ngăVăđ căxácăđ nhătheoăcôngăth că3.7.

  19   0 j V i I j   (3.7) v i        1 , 255 0 , 0 I j P i j I j P i j       

P(i, j)ăgiáătr ăđi mă nhă(i, j)  Phơnăb ăđi mă nhătheoăc t

Xácăđ nhăt ngăs ăđi mătr ngăphơnăb ătrênăt ngăc t. Cácăgiáătr ăđ cătr ngăHăđ că xácăđ nhătheoăcôngăth că3.8.

  27   0 i H j I i   (3.8) v i        1 , 255 0 , 0 I i P i j I i P i j       

P(i,ăj)ăgiáătr ăđi mă nhă(i,ăj)

HVTH: Lê Hồng Phúc Trang 54 3.2.5.1 Xây dựng bộ huấn luyện

B ăhu năluy năđ căxơyăd ngăd aătrênăl uăđ ăsau:

H̀nhă3.16: Quá trìnhăxơyăd ngăb ăhu năluy n

Chuẩnăb ăc ăs ăd ăli u

Taăc năchu năb ăc ăs ăd ăli uăđ ăt oăraăhaiăb ăphơnăl păSVM1ăvƠăSVM2,ăđó là nhăc aă29ăkỦăt ăvƠă7ăd u đ căs ăd ngăđ ăhu năluy n.ăT ngă ngătaăs ăcóă29ăl pă choăSVM1ăvƠă7ăl păchoăSVM2.ăVìăSVMălƠăm tămáyăh căcóăgiámăsátădoăđóăchúngă taăc năph iăgánănhƣnăchoăm iăm tăl p.ăV năđ ănƠyăđ căgi iăqu tăm tăcáchăđ năgi nă b ngăcáchătaăs ăl uăt tăc ă nhăc am iăkỦăt /d uăvƠoătrongăm tăfolderăt ngă ngăvà đánh nhãn cho folder đó nh ătrongăb ngă3.2. S ăcóăt tăc ălƠă36ăfolderăvƠăt tăc ăs đ căl uătrongăm tăfolderăg căcó tên là ắTraining setẰăđ ălƠmăc ăs ăd ăli u.

B ngă3.2: T păc ăs ăd ăli uăch ăvi tătayăti ngăvi tă

nhăcácăm uă kỦăt ă Chu năhóaă kíchăth c Tríchăđ că tr ng Hu năluy nă v iăSVM B ăhu năluy n kỦăt ă nhăcácăm uă d u

B ăhu năluy nă d uă

HVTH: Lê Hồng Phúc Trang 55

Phơnălo i KỦăt Nhƣnăt ngă ng Tên Folder S ăm uă( nh)

Nguyên âm A 1 "A" 204

Ph ăơm B 2 "B" 209

Ph ăơm C 3 "C" 227

Ph ăơm D 4 "D" 195

Nguyên âm E 5 "E" 185

Ph ăơm F 6 "F" 182

Ph ăơm G 7 "G" 200

Ph ăơm H 8 "H" 256

Nguyên âm I 9 "I" 222

Ph ăơm J (*) 10 "J" 195

Ph ăơm K 11 "K" 194

Ph ăơm L 12 "L" 201

Ph ăơm M 13 "M" 202

Ph ăơm N 14 "N" 207

Nguyên âm O 15 "O" 199

Ph ăơm P 16 "P" 196 Ph ăơm Q 17 "Q" 209 Ph ăơm R 18 "R" 209 Ph ăơm S 19 "S" 182 Ph âm T 20 "T" 215 Ph ăơm U 21 "U" 185 Ph ăơm V 22 "V" 185 Ph ăơm W (*) 23 "W" 180 Ph ăơm X 24 "X" 192 Ph ăơm Y (*) 25 "Y" 207 Ph ăơm Z (*) 26 "Z" 193 Ph ăơm Đ 27 "DD" 213

Nguyên âm 28 "OW" 201

Nguyên âm 29 "UW" 225

D uăthanh D uăn ng 30 "0" 52

D uăthanh D uăhuy n 31 "1" 64

Nguyên âm D uăỂ 32 "2" 103

D uăthanh D uăs c 33 "3" 101

Nguyên âm D uăĔ 34 "4" 108

D uăthanh D uăh i 35 "5" 77

D uăthanh D uăngƣ 36 "6" 62

HVTH: Lê Hồng Phúc Trang 56

nhăcácăm uăkỦăt ăvƠăd uăs ăđ căthuăth păt ăform l yăm uăch ăvi t tay nh ă hình 3.17.ăChúngătaăc năs uăt păm uăvi tăc aăkho ngă100 ng i.ăT tăc ăcácăformă thuăth păs ăđ căx ălỦăđ ătách raăt ngăkỦăt ăvƠăd u.Ph năd uăvƠăkỦăt s ăđ căphơnă lo iăvƠo các folder, ch ănh ngăm uăcóăch tăl ngă nhăt tăs ăđ căl uăgi ăđ ăhu nă luy n. S ăl ngăm uăcƠngăl năs ăgiúpăchoăvi c nh năd ngăcƠngăchínhăxácăđoăđóm iă m tăng iăcóăth ăth căhi nătrênănhi uăformăl yăm u.

H̀nhă3.17: Formăl yăm uăch ăvi tătayăti ngăvi tă(form1)

Bênăc nhăđó,ăđ ătƠiăcònăs ăd ngăl iăt păc ăs ăd ăli uăch ăvi tătayăđ căs ăd ngă trongăđ ătƠiăNh năd ngăkỦăt ăvi tătayăti ngăvi t [9].ăTrongăb ăc ăs ăd ăli uănƠy,ătoƠnă b ăkỦăt ăvƠăd uăđ căđƣăđ cătáchăraăt ăkho ngă200ăphi uăthuăth p.ăCóăkho ngăh nă 8000ăm uăv iăđ yăđ ă71 kỦăt ăbaoăg măc ăch ăhoaăvƠăch ăth ng.

HVTH: Lê Hồng Phúc Trang 57

H̀nhă3.18: M tăs ăm uăđ cătríchătrongt păd ăli u [9]  Hu năluy n

36ăfolderăs ăđ călƠmăđ uăvƠoăchoăb ăhu năluy n,ăch ngătrìnhăhu năs l năl tă đ căquaăt tăc ăcácăfolder, m iăm tă nh trongăt ngăfolderăs ăđ c chu năhóaăkíchă th c và sauăđóătínhătoánăt tăc ăcácăđ cătr ng. Maătr nălabelăch aăcácănhƣnăc aăcácă l păc nănh năd ng k tăh păv iămaătr năđ cătr ngăs ăđ căđ aăvƠoăhu năluy nătheo mô hình SVMănh ătrongăhìnhă3.19.

H̀nhă3.19: S ăđ ăhu năluy năm u

Môă hìnhă SVMă đaă l p đ că ápă d ng choă vi că hu nă luy nă m uă v iă chi nă l că OVO. Hàm nhân đ căs ăd ngălƠăhƠmătuy nătínhătheoănh ăcông th c 2.17. Vi căs ă hƠmănhơnănƠyăs ăchoăk tăqu ăhu năluy nănhanh chóng vƠătránhăvi căánhăx ăd li uă vƠoăkhôngăgianăm i. Cácăthamăs ăđ căthi tăl pătheoăph ngăphápăC-SVMăđ că th ă hi nă trongă côngă th că 2.11. Cácă giáă tr ă thamă s ă đ că thi tă l pă trongă OpenCVă thamăs ăđ căth ăhi nănh ăsau:

36 folder

nhăkỦăt ,ăd u Tríchăđ cătr ng

Hu nă luy năv iă

SVM1,2 Nhãn (Label) Vec t ăđ că

tr ng

B ăhu nă luy n

HVTH: Lê Hồng Phúc Trang 58

OpenCV h tr ă th ă vi n LibSVM [24] choă thu tă toánă SVM.ă Ta có hàm

SVM.train s ăs ăd ngămaătr năhu năluy n,ămaătr nălabelăvƠăcácăthamăs ăc aămôăhìnhă đƣă đ că l aă ch nă đ ă th că hi nă côngă vi că hu nă luy n.ă NgoƠiă raă taă cònă cóă hàm

SVM.train_auto s ăth căhi n vi căhu năluy năm tăcáchăt ăđ ngăvƠăt iă u các thông s ăc aămôăhình,ătuyănhiênăth iăgianăs ătĕngălên.

3.2.5.2 Nhận dạng

M uăthuănh n đ cătáchăraătrongăquáătrìnhătáchăkỦăt ăs ăđ căđ aăvƠoăk tăh pă v iăb ăhu năluy năđ cho raăk tăqu ănh năd ng.ăChúngătaăs ăph iăki mătraăxemăm uă đóălƠăkỦăt ăhayăd u.ăB ngăcáchăsoăsánhăkíchăth c,ăn uăm uălƠăd uăn ngăthìănhƣnăcóă nóăđ căgánălƠă30ăvƠătaăs ăkhôngăc năđ aănóăvƠotríchăđ cătr ngăvƠănh năd ng.

Quáătrìnhătríchăđ cătr ngăđ căth căhi năt ngăt nh ătrongăquáătrìnhăhu năluy nă m u,ănóăcǜngăs t oăraăm tămaătr năđ cătr ng.ăM iădòngătrongămaătr năs ălƠăt păđ că tr ngăm iăm tăkỦăt ăhayăd u,ăchúng ta c năxácăđ nhănhãn t ngă ngăc aănóălƠăgì.

Hình 3.20: S ăđ ănh năd ngăm u nhăkỦă

t ănh nă d ng

Tríchăđ cătr ng Nh năd ngă v iăSVM1,2

Nhãn (Label) Vécăt ăđ că

tr ng

B ăd ăli uă hu năluy n svm_type = CvSVM :: C_SVC; kernel_type = CvSVM :: LINEAR; degree = 0; gamma = 20; C = 7;

term_crit . type = CV_TERMCRIT_ITER | CV_TERMCRIT_EPS; term_crit . max_iter = 1000;

HVTH: Lê Hồng Phúc Trang 59

K tăh păv iăb ăd ăli uăđƣăđ căhu năluy n,ăcácăhƠmăquy tăđ nhăs ăđ căs ăd ngă l iă vƠă đóngă vaiă tròă lƠă cácă siêuă ph ngă đ ă phơnă l pă choă t pă đ că tr ngă m i.ă Trongă OpenCV hàm predict c aăth ăvi năml (Machine learning)s ăgiúpătaăth căhi năcôngă vi cănƠy.

K tă qu ă sauă khiă nh nă d ngă v iă ph ngă phápă SVMă s ă tr ă v ă m tă giáă tr ă nhƣn trongăb ăhu n luy năSVM.ăĐ ăthu năti năchoăvi căghiăk tăqu ,ătaăs ăl uăgiáătr ănhƣnă c aăc ăph năd uăvƠăkỦăt ăvƠoătrongăm tăm ngăđ căg iătênălƠălabel.

3.2.6 Ghiăk tăqu

Nhƣnăt ngă ngălƠăcácătr ngăs ăt ă1ăđ nă36ăđ căđánhănh b ngă3.3 và gi iăthu tă mã hóaăt ngăkỦt ăđ căth căhi nănh ăhìnhă3.21.

Thu tă toánă s ă xemă xétă k tă qu ă tr ă v ă c aă hƠmăpredict c aă haiă máyă SVM1ă vƠă SVM2ăđ ăđ aăraăk tăqu ănh năd ng.ăVìăchúngătaăch ăcóăgiáătr ănhƣnăc aă29ăkỦăt ăvƠă 7ăd u,ădoăđóăđ ăghiăk tăqu ăchoă93ăkỦăt ătaăc năápăd ngăthêmămôăhìnhăng ăphápă trongăti ngăvi t.

Víăd ătrongătr ngăh păSVM1ătr v ăk tăqu ălƠă1,ăt ngă ngăv iăk tăqu ăgi iămƣă lƠăkỦăt ăA.ăVìăAălƠăcóăth ăk tăh păv iă7ăd uăđ ăt oăraăthêmănhi u kỦăt ăkhác nên ta s ăxétăk tăqu ătr ăv ăc aăSVM2ăchoăph năd u:ă

 Tr cătiênătaăki mătraănhƣnăc aăd uăcóăph iălƠă30(.)ăn uăđúngătaăs ăki mătraă ti pănhƣnăc aăd uăk ăti pă(n uăcó) lƠă32( )ăhayă34( ),ăn uălà 32 thì kỦăt ălƠă ă vƠă34ăthìăkỦăt ălƠ ,ăn uăc ăhaiăđ uăkhôngăph iăthìăs ăgi iămƣălƠă .ă

 N u nhƣnăc aăd uăkhôngăph iălƠă30(.), khiăđóătaăc năxétănhƣnăc aăd uăcóăph iă lƠă32( )ăhayă34( ). N uăđúngătaăc năki mătraănhƣnăc aăd uăk ăti pă(n uăcó). Các nhƣnănƠyăcóăth ălƠ 31(\), 33(/), 35(?) hay 36(~)ăvƠăk tăqu ăt ngă ngăđ c gi iămƣălƠ ,ă ,ă ,ă ăhayă ,ă ,ă ,ă . Trongătr ngăh păkhôngăcóăd uăk ăti pă thìăk tăqu ătr ăv ăs ălƠăỂăhayăĔ.

 N uăkhôngăph iălƠă32( )ăho că34( )ăthìăk tăqu ănh năd ngălúcănƠyăch ăcònăph ă thu căvƠo cácăd uăcóănhƣnălƠă31(\), 33(/), 35(?) hay 36(~)ăvƠăk tăqu ăt ngă ngă đ căgi iămƣălƠăẨ,ăỄ,ă ,ăẩ.

HVTH: Lê Hồng Phúc Trang 60

T ngăt ăchoăcácătr ngăh păc aăE,ăI,ăO, U, Y,ă ăvƠă .ăCácătr ngăh păcònăl iă ch ăc năxemăxétăk tăqu ătr ăv ăc aăSVM1ălƠăđ .

B ngă3.3:ăMã hóaăkỦăt ătheoănhƣn

30 31 33 35 36 1 A À Á Ã Â 32 Ĕ 34 2 B 3 C 4 D 5 E È É Ê 32 6 F 7 G 8 H 9 I Ì Í ƾ 10 J 11 K 12 L 13 M 14 N 15 O Ò Ó Õ Ô 32 16 P 17 Q 18 R 19 S 20 T 21 U Ù Ú Ǜ 22 V 23 W 24 X 25 Y ǵ Ý 26 Z 27 Đ 28 29 32

HVTH: Lê Hồng Phúc Trang 61 Hình 3.21: S ăđ ămƣăhóaăkỦăt Label[p]=1? Label[p+1]=32? Label[p+1]=34? Label[p+1]=32? →ăắăkho ngătr ngẰ Label[p+2]=31ă→ă Label[p+2]=33ă→ă Label[p+2]=35ă→ă Label[p+2]=36ă→ă ă otherwiseă→ăĔ Label[p+1]=31ă→ăẨ Label[p+1]=33ă→ăỄ Label[p+1]=35ă→ Ã Label[p+1]=36ă→ă ă otherwiseă→ăA Y Y N N Label[p]=0? Label[p-1]=30? Start p=0 Label[p+2]=31ă→ă Label[p+2]=33ă→ă Label[p+2]=35ă→ă Label[p+2]=36ă→ă ă otherwiseă→ăỂ Label[p]=2? →ăB Label[p]=29? Label[p+1]=31ă→ă Label[p+1]=33ă→ă Label[p+1]=35ă→ă Label[p+1]=36ă→ă ă otherwiseă→ă N N Y Y Y N ầ End N N Label[p+1]=32 →ă Label[p+1]=34 →ă otherwiseă→ă Label[p-1]=30? Y →ă N Y Y

HVTH: Lê Hồng Phúc Trang 62

Ch ngă4

XỂYăD NGă NGăD NGăTRểNăBOARDăNHÚNG 4.1 S ăđ ăh ăth ng

B ngăcáchăs ăd ngăm tăcameraăđ ăquétă nhăđ uăvƠo,ă nhăc aăch ăvi tăs ăđ că đ aăvƠoănh năd ngăb iăh ăth ngăboardănhúngăBBxM,ăgiaoădi năx ălỦăvƠăk tăqu ă d ngătextăđ căth căhi năvƠăhi năth ătrênăm tămƠnăhìnhăLCD.

Hình 4.1: H ăth ngăph năc ng

ngăd ngănh năd ngăch ăvi tătayăđ căth căhi năv iăs ăh ătr ăc aăth ăvi năx ălỦă nhăOpenCV,ăgiaoădi năch ngătrìnhăđ căxơyăd ngătrên ph năm mămƣăngu năm ă Qt Creator.

Hình 4.2: H ăth ngăph năm m ngăd ng

Qt và OpenCV library Linux kernel, Rootfile Systems

Uboot và Env.ext Ngõ vào: C320 Logitech X ălỦ:ă BBxM RevC Ngõ ra: LCD Monitor USB DVI-D

HVTH: Lê Hồng Phúc Trang 63

Đ xơyăd ngă ngăd ngătrênăh ăth ngănhúngătr căh tăs ăxơyăd ngăch ngătrìnhă trênămáyăch ă(Host) là PC,ăsauăđóăs ăd ngătrìnhăbiênăd chăchéoă(Cross-compiler)ăđ ă biênăd ch (build) và copyăfileăth căthixu ngăKítă(Target)ădoăđóăc năph i cóăm tăs ă côngăc ăvƠăcácăthi tăl păc ăb nătrênăc ămáyăch ăl năBBxM.

H ăth ngăh ătr thi tăk ăh ăth ngăg măcó:

 H ăđi uăhƠnhăUbuntuă10.04:ăxơyăd ngăvƠăthi tăk ăcácăgiaoăti păv iăBBxM.ă

 CƠiă đ tă Angstrom-toolchain: công c biên d ch chéo các ng d ng và packages choăki nătrúcăARM-Cortex A8.

 QtăCreator:ăcôngăc ăthi tăk ăgiaoădi năvƠă ngăd ng.ă

 Qt-Everywhere:ăCôngăc ăbiênăd chăQtăchoăki nătrúcăARM.  Thi tăl păQtăCreatorăđ ăbiênăd chăv iăn năt ngăQtăEverywhere.  CƠiăđ tăth ăvi năOpenCV.

4.2 Xơyăd ngăh ăđi uăhƠnhănhúng

BBxMăđ căxơyăd ngăs năimageăv iăh ăđi uăhƠnhănhúngăAngstromăv iănhi uă phiênăb năkhácănhauăvƠăđ căc ngăđ ngăh ătr ăr tăt t.ăHi nănayăcóănhi uăphiênăb nă UbuntuăportăchoăBBxMănh ngăv năch aăhoƠnăthi năvƠăho tăđ ngăch aă năđ nhănênă h ăđi uăhƠnhănhúngăAngstromăđ cănhi uăng iădùngăl aăch n.ă

Image này ch a file Uboot h tr t t cho các phiên b n RevA và RevB. File uEnv.txt s ă ch aă thôngă tină c uă hìnhă boot.ă Kernelă lƠă phiênă b nă 2.6.32ă Imageă nƠyă đ că ghiă vƠoă th ă nh ă 4GBă b ngă ph nă m măWin32DiskImager [37] h ă tr ă trênă Window.

Vi c ghi file image cho BBxM có th đ c th c hi n nh ătrong [38], trang web này choăphépăthi tăl păcácătùyăch năchoăh ăđi uăhƠnhăangstromăb ngăcáchăl aăch nă cácăgóiăc năthi tăchoă ngăd ng.

4.3 Biênăd chă ngăd ngătrênăboardănhúngă

ngăd ngăđ căxơyăd ngăv iăph năm măQtăCreatorăđ căcƠiăđ tătrênăh ăđi uă hành Ubuntu 10.04.ăCôngăvi căx ălỦă nhăđ căth căhi năv iăth ăvi năOpenCV.ăĐ ă cóăth ăth căthiă ngăd ngătrênăBBxM, cácăth ăvi năh ătr ăc aăQtăvƠăOpenCVăph iă

HVTH: Lê Hồng Phúc Trang 64

ch yăđ cătrênăn năki nătrúcăARM.ăN iădungăph nănƠyăs ătrìnhăbƠyăv năt tăm tăs b căxơyăd ngăvƠăbiênăd chăQtăvƠăth ăvi năOpenCVăđ ăcóăth ăth căthiă ngăd ngă trên BBxM. Chiăti tăv ăcácăb căth căhi ncóăth ăthamăkh oătrongăph năPh ăl c.

4.3.1 Biênăd ch OpenCV cho ARM

Ph nănƠyă s ăcungăc păcácăb căđ ă biênăd ch OpenCVă2.2ăchoăn năt ngăARMă Cortex-A8ăs d ng Cmake trên môi tr ng Linux. CmakeălƠăm tă ngăd ngăh ătr ă biênăd ch ngăd ngăngoƠiăsource choăphépăchúngătaăthi tăl păToolchain vƠăthayăđ iă m tă s ă tùyă ch nă khiă biênă d ch th ă vi nă OpenCV. Toolchaină đ că s ă d ngă lƠă Codecourceryă2010.12.ăCácăb căth chi năcóăth ăthamăkh oăt ă[39].

Th ăvi năOpenCVăsauăkhiăbiênăd ch chínhălƠăcácăth ăvi năđ căs ăd ngătrênăn nă ki nătrúcăARMăvƠăđ căs ăd ngătrênăBBxM.

4.3.2 Thi tăl păQtăchoăBBxM

Ph nănƠyăs ăh ngăd năcácăb căxơyăd ngăcôngăc ăbiênăd chăchéoăcácă ngăd ngă xơyăd ngătrênăQtăđ ăcóăth ăth căthiătrênăboardănhúngăBBxM.ăN i dung ph n này tham kh ot [40]. Cóăth ătómăt tăquáătrìnhănƠyăg măm ts ăb c c ăb nănh ăsau:

4.3.2.1 Cài đặt trình biên dịch chéo

M tătoolchainăc năđ căcƠiăđ tăđ ăbiênăd chăcodeătrênăh ăth ngăLinuxăcóăth ăth c thiătrênăviăx ălỦăARMăc aăBBxM.ăCácăviăx ălỦăARMăkhácănhauăs ăđ căbiênăd chă khácănhau.ăCáchăđ năgi nănh tălƠăs ăd ngăm tătoolchainăđ căc uăhìnhătr căchoăh ă đi uăhƠnhănhúngăvƠăviăx ălỦătaăđangădùng.ăToolchainăh ătr ăchoăvi căbiênăd ch ngă d ngătrênăBBxMv iăh ăđi uăhƠnhăAngstromălƠăAngstromăătoolchain.ăHaiăphiênăb nă s ă d ngă lƠă ph ă bi nă choă BBxMă baoă g m:ă angstrom-armv7a-linux-gnueabi- toolchain-qte-4.6.2.tar.bz2ă đ iă v iă h ă đi uă hƠnhă Ubuntuă 32-bit ho căangstrom- armv7a-linux-gnueabi-toolchain-qte 4.6.2.tar.bz2 đ iăv iăh đi u hành Ubuntu 64- bit [41].

4.3.2.2 Biên dịch Qt Everywhere

Sauăkhiăđƣăcóătoolchain taăcóăth ăbiênăd ch Qt.ăĐ u tiên taăph i download Open SourceăLGPLăphiênăb năQtălibrariesăchoăEmbeddedăLinuxă(QtăEverywhereăhayăQt

HVTH: Lê Hồng Phúc Trang 65

Embedded). Các phiênă b n Qt Everywhere có th đ cădownload t iă[42] (ch nă phiênăb năphùăh păv iăphiênăb năQtăCreatorăđangăcƠiătrênămáy).ă

4.3.2.3 Thiết lập Qt Creator để biên dịch với nền tảng Qt Everywhere

Chúngătaăc năph iăthêmăToolchainăph căv ăchoăchìnhăbiênăd chăchéoăvƠoătrong QtăCreator.ăKhiăt oăm tăprojectăm iăt ăQtăCreatorăs ăcóăm tăthôngăbáoăchoăvi că ch năl aăcôngăc ăbiênăd ch,ătaănênăch năh tăv aăcóătrìnhăbiênăd chătrênămáyăv aăcóă trìnhăbiênăd chăchéoăđ ăti năchoăvi căki mătra.ăĐ iăv iăm tăprojectăcóăs nătaăc năaddă thêm trìnhăbiênăd chănƠyăvƠo.ă

4.3.2.4 Biên dịch ứng dụng Qt với thư viện OpenCV cho BBxM

Cácăth ăvi năOpenCVăđ căcƠiăs nătrênăUbuntuăkhôngăth ăs ăd ngăđ ăbiênăd ch ngăd ngăch yătrênăARM,ăđ ăcóăth ă biênăd ch ngăd ngăQtăcóăs ăd ngăth ăvi nă OpenCVătaăc năthêm cácăth ăvi năc aăOpenCVăđƣăđ căbiênăd chtheoăph nă4.3.1.

Trongăfileă*.proăc aăm tăprojectăQtătaăc năph iăthêmăđ ngăd năđ năcácăth ăvi nă c aăOpenCV.

Khiăc năbiênăd ch ngăd ngăch yătrênămáy thìăCONFIGă+=ăbuild_host,ăn u mu nă biênăd ch ngăd ngăch yătrên BBxM thì CONFIG += build_bb.ăT ngăt ătrongăfileă header cǜngăc năch ăđ ngăd năphùăh păđ ăch năl aăvi căbiênăd ch ngăd ng.

4.3.2.5 Thiết lập BBxM

Cácăth ăvi năc aăQtăvƠăOpenCVăsauăkhiăbiênăd chăđƣăcóăth ăth căhi nătrênăn nă ARM Cortex-A8ăt călƠăcóăth ăth căthiătrênăBBxM.ăT tăc ăcácăfileăđ căbiênăd chs ă

build_bb{ INCLUDEPATH += /home/username/ LIBS +=/home/username/libopencv/libopencv_*.so.2.2\ /home/username/libopencv/libopencv_gpu.so.2.2.0\ /home/username/libopencv/libavcodec.so.52\ /home/username/libopencv/libavutil.so.50\ /home/username/libopencv/libswscale.so.0\ /home/username/libopencv/libavformat.so.52\ /home/username/libopencv/libv4l1.so.0\ /home/username/libopencv/libgsm.so.1\ /home/username/libopencv/libv4l2.so.0\ /home/username/libopencv/libmp3lame.so.0\ /home/username/libopencv/libv4lconvert.so.0 }

HVTH: Lê Hồng Phúc Trang 66

đ căcopyăvƠoăBBxMătheoăđúngăđ ngăd n. TrênăBBxMăs ăkhôngăcóăs năđ ngă d nănƠy,ătaăcóăth căhi năvi cănƠyăv iăcácăl nhăsauă(l nhănƠyăđ căth căhi nătrênă BBxM).

Đ iăv iăcácăth ăvi năOpenCVăcóăth ăcopyăvƠoăth ăm că/usr/libătrênăBBxM.ăC nă cƠiăthêmăm tăs ăpackagesălênăBBxMăđ ăh ătr ăQt.

4.3.2.6 Biên dịch và thực thi ứng dụng trên BBxM

Kh iăđ ngăQtăCreator,ăm ăho căt oăm tăprojectăm i.ăCh năBuild setting là qt ậ armăsauăđóăbiênăd chprojectăt oăraăfile.bin. Copy file.bin vào BBxM.

S ăd ngăl nhăsauăđ ăth căthiă ngăd ngătrênăBBxM: cd duong_dan_den_file

./tenfile -qws opkg update

opkg install libgles-omap3 opkg install libstdc++6 opkg install libpng12-0 cd / mkdir opt cd opt mkdir qt-arm cd qt-arm mkdir lib cd lib

HVTH: Lê Hồng Phúc Trang 67

Ch ngă5

K TăQU ăVĨăK TăLU N 5.1 K tăqu ăđ tăđ c

Lu năvĕnăđƣăxơyăd ngăthƠnhăcôngămôăhìnhănh năd ngăch ăvi tătayăti ngăvi tăd aă trênăc ăs ăSVMăk tăh păv iăph ngăphápătríchăch năđ cătr ngăchuătuy năvƠăphơnă b ăđi mă nh.ăD aăvƠoătínhăliênăthôngăc aă nhăđ ăxácăđ nhăxemă nhăkỦăt ăthu că nhómăkỦăt ăcó d uăhayăkhôngăd u,ătrênăc ăs ăđóăs ăti năhƠnhătáchă nhăthƠnhăph nă ch ăvƠăph năd uăđ ăphơnăl păđ căl p,ăcu iăcùngăghépăn iăcácăk tăqu ăphơnăl păc aă ph năch ăvƠăph năd uăđ ăcóđ căk tăqu ănh năd ngcu i cùng.

Xơyăd ngăđ căgiaoădi năch ngătrìnhătrênăQtăCreator.ăKi mătraăho tăđ ngăc aă h ăth ngăvƠăđánhăgiáăk tăqu ănh năd ngătrên máy tính cá nhân. Biênăd ch ch ngă trìnhăth căthiătrênăBBxM.SauăđơyălƠăm tăs ăhìnhă nhăc aăch ngătrình.ă

 Giaoădi năc aăch ngătrình chính đ cădùngăđ ănh năd ngă nhăvĕnăb n.

Hình 5.1: Giao di năchínhăc aăch ngătrìnhănh năd ng

1 2 3

4

5

HVTH: Lê Hồng Phúc Trang 68

 Giaoădi năc aăch ngătáchăkỦăt ,ăhu năluy năvƠăki mătraăđ ăchínhăxácăc aămôă hìnhănh năd ng.

Hình 5.2: Giaoădi năc aăch ng trình táchăkỦăt ,ăhu năluy năvƠăki mătra

5.1.1 Ho tăđ ngăc aăch ngătr̀nhă

V ăc ăb năch ngătrìnhăth căhi năhaiăch cănĕngăchính:ănh năd ngăvƠăhu năluy nă m u.ăM uăkỦăt ăho căvĕnăb năvi tătayăti ngăvi t cóăth ăđ căl yăt ăt păfileă nhăcóă s năho căcóăth ăđ că ch păt ăcamera.ăCh ngătrìnhăh ătr ă m tăs ă côngăc ăgiúpă ch nhăs aă nhătr căkhiăđ aăvƠoănh nd ng.T tăc ăcácătínhănĕngăch ăđ căkíchăho tă m tăkhiă nhăđƣăđ căch păho căcóă nhăđ căloadăvƠoătrongăkhungă nh. K tăqu ă nh năd ngăcóăth ăph ăthu căvƠăs ăđi uăch nhăthôngăs ăđ ăl yăng ngăthíchănghiăchoă

nhănh ăphơn.

ᬅ ĐơyălƠăn iăgiúpăchúngătaăcóăth ăt o m tătrangăm i,ăloadăm tăfileă nh l uăs n trongăth ăvi n,ăsaoăl uă nh.

ᬆ Thanhăcôngăc ănƠyădành cho vi c kh iăđ ng,ăd ngăho tăđ ngăc aăcameraăvƠă ch cănĕngăquanătr ngălƠăch păhình.ă nhăch păs ăđ căl uătr ăt măth iătrongăb ănh ă

HVTH: Lê Hồng Phúc Trang 69

đ ăph căv choăvi căx ălỦ.ăChúngătaăcóăth ăl uăl iă nhăb ngăcáchăs ăd ngăch cănĕngă

saveho căsave astrênăthanhăcôngăc .

ᬇ Thanhăcôngăc ănƠyăgiúpătaăm ănhanhăc aăs ăc aăch ngătrìnhăhu năluy năm u (kỦăt ăvƠăd u),ăgiaoădi năc aăch ngătrìnhănh ăhìnhă5.3.

Hình 5.3: Môăhìnhăhu năluy năm uăSVM

Data Folder Path:ăđ cădùngăđ ătr ăđ ngăd năđ năth căm căg căch aăcácă

Một phần của tài liệu Thiết kế hệ thống nhúng nhận dạng chữ viết tay tiếng việt (Trang 59)

Tải bản đầy đủ (PDF)

(99 trang)