JAVA简单手写数字识别

这篇博客探讨了JAVA手写数字识别的过程,从初探阶段的二维数组判断到改进后的像素抓取方法,利用欧式距离算法和KNN分类器进行识别。介绍了如何通过Pixelgrabber获取像素信息,并对数据进行预处理,以提高识别准确性。
摘要由CSDN通过智能技术生成
作为一个机器学习的初学者,首先肯定是要有点自己的对机器学习的看法的。
    我认为的机器学习(在我目前接触到的知识来说。!!(大佬勿喷)),机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。也就是说我们需要通过研究人类学习的过程,也就是积累过程,来为机器提供这样一个环境,所以说就需要有大量的样本来为机器提供条件,通过提高代码质量,为机器提供更快更有效的方法来模拟。
    还是回到自己的简易手写识别上来,几个月重新拾起JAVA对于一个本来基础就不大好的我,也是特别困难的,当初手写识别写了一部分落下,近几天也相当于重新开始写这串代码。

一.手写识别初探(之后有改进)
手写识别(HandWriting Recognition)是指将在手写设备上书写时产生的有序轨迹信息化转化为汉字内码的过程,实际上是手写轨迹的坐标序列到汉字的内码的一个映射过程,是人机交互最自然、最方便的手段之一。
五子棋,我上篇好像也有淡淡的扯过,划线布局分部也就差不多,重要的是通过鼠标在画布上的判断来讲布局用二维数组表达出来。
也就是计算鼠标拖动的着落点入落在所画的方格类进行判断,然后再依次存到数组里面,并将其用文件输出流保存起来。

所以通过动作监听将这些样本存入文本文档中。然后再将文本文档读到另一个数组里。鉴于初学只能写了一个简单的算法得到C值。fa[c]就是相比对之下最精确样本所在处。然后输出。

二. 手写识别改进
相比于方格二维数组的判断,我用到一个类Piexlgrabber像素抓取,之后画板明亮的多。感觉效果也好多了。
我来简单

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值