java手寫識別源代碼_第1頁
java手寫識別源代碼_第2頁
java手寫識別源代碼_第3頁
java手寫識別源代碼_第4頁
java手寫識別源代碼_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1. /*2. * (#) 04/04/033. *4. * You can modify the template of this file in the5. * directory .6. *7. * You can also create your own project template by making a new8. * folder in the directory.JCreatorTemplate.Use theother9. * templates as examples.10. *11. */12. package ;13.14.import .*;15.import .

2、*;16.import .*;17.import .*;18.19.class HandWritingRecognition extends JFrame implements Act ionListener,ItemListener20.JButton recognize;21.JButton train;22.JButton clear;23.JButton newSample;24.JLabel result1;25.JTextArea result2;26.JButton choice1;27.JButton choice2;28.JTextArea status;29.JComboB

3、ox num;30.myCanvas can;31.int model;32.FileDialog fdsave;33.FileDialog fdload;34.BufferedWriter out;35.FileWriter file_writer;36.BufferedReader in;37.FileReader file_reader;38.JMenuItem save;39.JMenuItem load;40. JMenuItem quit;41. JMenuItem ab;42.JMenuItem edition;43.JTextArea area;44.int first,sec

4、ond;45.int choice;46.int resultLen=10;47.int snum=10;48.49.int sample;50.int input;51.int row;52.int count;53.int stroke;54.int x;55.int y;56.int dismantle;57.int col;58.int sample2;59.int d1,d2;60.boolean isSaved;61.62. public HandWritingRecognition() 63. sample=new int1012;64. sample2=new int108;6

5、5. input=new int128;66. row=new int12;67. count=0;68. stroke=0;69.x=new int500;70.y=new int500;71.model=0;72.dismantle=new int10;73.col=new int8;74.d1=d2=0;75.isSaved=true;76.77.fdsave=new FileDialog(this,保存文件78.fdload=new FileDialog(this,打開文件79.setSize(470,520);80.setLocation(300,100);81.setTitle(

6、數(shù)字手寫識別器 );82.83.JMenuBar Bar=new JMenuBar();84.(true);85.JMenu file=new JMenu(文件 );00028.129.JMenu about=new JMenu(關(guān)于 ); (file);(about);setJMenuBar(

7、Bar);save=new JMenuItem( 保存樣本 ); load=new JMenuItem( 讀取樣本 ); quit=new JMenuItem( 退出 ); (save);(load);();(quit);ab=new JMenuItem( 說明 ); edition=new JMenuItem( 版本 ); (ab);();(edition);(this);(this);(this);(this);(this);can=new myCanvas();Container con=getContentPane(); (null);JPanel p1=new JPanel();(n

8、ull);(can);(15,15,270,270);( 手寫數(shù)字輸入板 );(p1);(20,60,300,300);recognize=new JButton( 識 別 ); clear=new JButton( 清 除); newSample=new JButton( 新建樣本 ); train=new JButton( 訓(xùn) 練); choice1=new JButton(); choice2=new JButton();(recognize);(340,70,80,30) ;(clear);39.140.141.

9、72.173.(340,120,80,30) ;(newSample);(20,15,90,30) ;(train);(340,170,80,30) ;String s=0,1,2,3,4,5,6,7,8,9;num=new JComboBox(s);JPanel p4=new JPanel();(p4);(null); (340,210,80,50);(

10、 訓(xùn)練項 ); (num); (10,15,55,25);JPanel p2=new JPanel();(p2);(null); (340,260,80,100);( 結(jié)果備選 );(choice1);(choice2);(10,20,60,30) ;(10,60,60,30) ;result1=new JLabel( 識別結(jié)果 :);result2=new JTextArea(); (false);(result1);(result2);(150,15,70,30) ;(230,15,170,30) ;JPanel p3=new JPanel(); (p3);(null); (20,370,

11、400,70); (STATE:); area=new JTextArea(); (area);(10,15,380,45);(false);(false);89.(false);(false);(false);(false);(false);( 請新建或載入手寫體樣本。 );(this);(this);(this); (this); (this); (this); (this);190.191. addWindowListener(new WindowAdapter()

12、192. public void windowClosing(WindowEvent e) 193.193. if(isSaved=false)194. String s= 是否要保存已修改的樣本到樣本文件 ?;195. String t= 提示 ;003.204.int check;JFrame f=new JFrame(); check=(f,s,t,0);if(check=0)(true);tryif()!=null)File file=newFile(),();205.FileWriter(file);206.dWriter(file_w

13、riter);207.0;i+)208.=0;j12;j+)209.file_writer=new out=new Buffere for(int i=0;i1 for(int j Integer aa=new Integer(int)sampleij);210. s=()211.(s,0,();212.();213.();214.215.for(int j=0;j8;j+)216. Integer aa=new Integer(int)sample2ij);217. s=()218.,();25.226.e1)30.

14、231.232. (0);233. 234. );235.(s,0 ();();();();catch(FileNotFoundException catch(IOException e2) isSaved=true;dispose();42.243.244.setVisible(true); show();public void standard()int minx,miny,maxx,maxy,xlen,ylen; minx=miny=1000; xlen=ylen=0; maxx=maxy=0;245. for(int i=0;icoun

15、t;i+)246. if(xi=-1)247.continue;55.256.257.258.259.260.261.262.263.264.265.266.267.268.269.270.271.272.273.274.275.276.277.278.279.280.281.282.283.284.285.286.287.288.289.290.291.292.if(ximinx)minx=xi;if(yimaxx)maxx=xi;if(yimaxy)maxy=yi; +maxy+ +minx+ +miny ); xlen=maxx-minx

16、; ylen=maxy-miny; int tempi,tempj;for(int i=0;i11)tempi=11;if(tempj7)tempj=7;if(tempi0)tempi=0;if(tempj0)tempj=0;inputtempitempj=1;for(int i=0;i12;i+)int c=0;for(int j=0;j8;j+) if(inputij=1) rowi+=j; c+;rowi*=c;for(int i=0;i8;i+)int c=0;for(int j=0;j12;j+) if(inputji=1) coli+=j;293.294.295.296.297.

17、298.c+;coli*=c;299.300.301.302.303.304.305.306.307.308.309.310.311.for(int for(int);312.publici=0;i12;i+)for(int j=0;j8;j+) );+rowi+n);i=0;i8;i+);void actionPerformed(ActionEvente)313. if()=quit)314.315.316.317.的樣本到樣本文件 ?;318.if(isSaved=false)String s= 是否要保存以修改String t= 提示 ;319.int check;320.321.322

18、.323.324.325.326.JFrame f=new JFrame(); check=(f,s,t,0);if(check=0)(true);tryif()!=null)File file=newFile(),();327.FileWriter(file);328.dWriter(file_writer);329.0;i+)330.=0;j12;j+)file_writer=new out=new Buffere for(int i=0;i1 for(int j331.Integer aa=new Integer(int)sampleij);332.s=()333.(s,0,();334

19、.();335.();336.337.for(intj=0;j8;j+)338.Integer aa=newInteger(int)sample2ij);339.s=()340.(s,0,();341.();342.();343.344.345.();346.();347.348.catch(FileNotFoundExceptione1)349.catch(IOExceptione2)350.351.isSaved=true;352.353.354.(0);355.356.357. if()=recognize)358.standard();359.360.361.362.363.364.o

20、lj);365.for(int i=0;i10;i+)for(int j=0;j12;j+) dismantlei+=(sampleij-rowj); for(int j=0;j8;j+) dismantlei+=(sample2ij-c366. );367.368.369.370.first=second=0;371.for(inti=0;i10;i+)372.if(dismantleidismantlefirst)373.first=i;374.375.376.if(first=0)second=1;377.for(inti=0;i10;i+)378.if(i=first)continue

21、;379.if(dismantleidismantlesecond)380.second=i;381.382.383.for(int j=0;j12;j+)384.d1+=samplefirstj-rowj;385.386.for(int j=0;j8;j+)387.d1+=sample2firstj-colj;388.389.for(int j=0;j12;j+)390.d2+=samplesecondj-rowj;391.392.for(int j=0;j8;j+)393.d2+=sample2secondj-colj;394.395.for(inti=0;i12;i+)396.rowi=

22、0;397.398.for(int i=0;i8;i+)399.coli=0;400.401.(I:+first);402.(II:+second);403.404. +d2);405.d1=d2=0;406.407.if()=choice1)408./*for(int i=0;i12;i+)409./5+samplefirsti;samplefirsti=(rowi-samplefirsti)410.411.for(int i=0;i8;i+)412.sample2firsti=(coli-sample2firsti)/5+sample2firsti;413.*/414.resultLen-

23、;415.if(resultLen=0)416.resultLen=10;417.();418.419.isSaved=false;420.Integer i=new Integer(first);421.();422.423.if()=choice2)424.for(int i=0;i12;i+)425.samplesecondi=(rowi-samplesecondi)/5+samplesecondi;426.427.for(inti=0;i8;i+)428. sample2secondi=(coli-sample2s econdi)/5+sample2secondi;429.430.is

24、Saved=false;431.resultLen-;432.if(resultLen=0)433.resultLen=10;434.();435.436.Integer i=new Integer(second)437.();438.439.if()=clear)440.input=new int128;441.row=new int12;442.count=0;443.stroke=0;444.x=new int500;445.y=new int500;446.dismantle=new int10;447.();448.449.if()=train)450.standard();451.

25、452.for(int i=0;i12;i+)453.samplemodeli=rowi;454.455.for(int i=0;i8;i+)456.sample2modeli=coli457.458.if(model=9)459.(true);460.(true);461.(true);462.463.for(int i=0;i12;i+)464.rowi=0;465.466.for(int i=0;i8;i+)467.coli=0;468.469.470./for(int i=0;i12;i+)471./ );472./473.474.if()=newSample)475.sample=n

26、ew int1012;476.( 請依次輸入 0-9 樣本。 );477.(false);478.(false);479.(false);480.(true);481.(true);482.(true);483.isSaved=false;484.485.if()=save)486.(true);487.String s;488.try489.if()!=null)490.File file=new491.file_writer=newfile);File(),();FileWriter(493.for(inti=0;i10;i+)494.for(intj=0;j12;j+)495.Integ

27、eraa=newInteger(int)sampleij);496.s=();497.(s,0,();498.();499.();500.501.for(intj=0;j8;j+)502.Integeraa=newInteger(int)sample2ij);503.s=();504.(s,0,();505.();506.();507.508.509.();510.();511.512.catch(FileNotFoundExceptione1)513.catch(IOExceptione2)514.isSaved=true;515.516.if()=load)517.(true);518.S

28、trings=new String();519.try520.if()!=null)521.Filefile=new File(),();522.file_reader=new FileReader(out=new BufferedWriter(fileBufferedReader(file_in=new_writer);file);492.523.reader);524.525.526.527.Integer for(intaa=new Integer(0); i=0;i10;i+) for(int j=0;j12;j+)s=();528.sampleij=(s)529.530.for(in

29、t j=0;j8;j+)531.s=();532.);sample2ij=(s);533.534.535.();536.();537.538.catch(FileNotFoundException e1)(false);();539.catch(IOException e2)540.(true);541.(true);542.(true);543.(true);544.(true);545.(true);546.( 請開始手寫輸入識別 );547.548.549.if()=edition)550.About abt=new About();551.552.if()=num)553.String

30、 s=(String)();554.if(0)555.model=0;556.557.if(1)558.model=1;559.560.if(2)561.model=2;562.563.if(3)564.model=3;565.566.if(4)567.model=4;568.569.570.571.572.573.574.575.576.577.578.579.580.581.582.583.584.585.586.587.588.589.590.591.592.593.);if(5) model=5;if(6) model=6;if(7) model=7;if(8) model=8;if(

31、9) model=9;public void itemStateChanged(ItemEvent e)public static void main(String args) HandWritingRecognition frame=new HandWritingRecognition();594. 595. 596. 597. 598.599. class myCanvas extends Canvas implements MouseListene r,MouseMotionListener600.601.myCanvas()602.addMouseListener(this);603.addMouseMotionListener(this);604.setBackground;605.606.607.public void paint(Graphics g)608.609.for(int i=0;icount-1;i+)610.if(xi+1=-1)611.i+;612.continue;613.e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論