From b070a99a14d6be4e109307c8ac37285501261d95 Mon Sep 17 00:00:00 2001 From: Threadalive <45752021+Threadalive@users.noreply.github.com> Date: Mon, 6 May 2019 12:55:09 +0800 Subject: [PATCH] Add files via upload MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 基于KNN算法的手写数字识别 --- HandCompare.java | 24 +++++++ HandJframe.java | 62 +++++++++++++++++ HandListen.java | 169 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 255 insertions(+) create mode 100644 HandCompare.java create mode 100644 HandJframe.java create mode 100644 HandListen.java diff --git a/HandCompare.java b/HandCompare.java new file mode 100644 index 0000000..447af92 --- /dev/null +++ b/HandCompare.java @@ -0,0 +1,24 @@ +public class HandCompare { + private int [][]num; + private int [][]sample; + public HandCompare(int [][]num,int[][]sample){//获取当前数组与样本数组 + this.num=num; + this.sample=sample; + } + public double Compare(){ + double a=0; + for(int i=0;i<401;i++){//这样的效果相当于得出这两张图的不重叠的面积 + for (int j=0;j<401;j++){ + if (num[i][j]!=sample[i][j]){ + a++; + } + } + } + return a+(sample[0][0]/10.0);//在最后的数据上还能保存这个样本的类型 + + } + + +} + + diff --git a/HandJframe.java b/HandJframe.java new file mode 100644 index 0000000..f978dae --- /dev/null +++ b/HandJframe.java @@ -0,0 +1,62 @@ +import javax.swing.*; +import java.awt.*; + +public class HandJframe extends JPanel { + private Graphics g; + private HandListen handListen;//监听器 + + + + public void Plaette(){ + JFrame jf=new JFrame(); + jf.setSize(600,600); + jf.setTitle("手写识别"); + + //结束进程 + jf.setDefaultCloseOperation(3); + jf.setLocationRelativeTo(null); + jf.setResizable(false); //窗口不可更改 + jf.setLayout(new FlowLayout());//流式布局管理器 + this.setPreferredSize(new Dimension(400,400));//400,400的面板 + this.setBackground(Color.black); + jf.add(this); + handListen=new HandListen(this); + //set button + String chose[]={"sample save","indentify"}; + for(int i=0;i