knn算法实现的数字手写识别

界面 :


地址:http://115.28.212.157:8080/Handwriting/index.html

实现功能 :

阿拉伯手写体的识别,正确率在80%以上。

实现原理 :

在写字板写出字体点击识别按钮后,字体会先被转为base64字符串然后发送到服务器端,服务器取得数据后对字符串解码并转为Java的图片缓冲区(BufferedImage),对图片进行裁剪,缩放之后转为01的点阵文本并保存,然后调用shell命令执行Python脚本,获取结果返回给客户端。

关键点 :

  • 手写板是用HTML5的canvas实现的,兼容移动端,代码来自

    html5 canvas作的手写板【兼容手机】
    http://powertech.iteye.com/blog/2069207

  • 识别算法是用Python实现的,代码来自《机器学习实战》第二章,图片转点阵算法是用Java实现的,来自。

    文字图片转成点阵的小工具
    http://milker.iteye.com/blog/1326218

  • Tomcat作为后台服务器,本来打算使用NodeJS的,但由于需要调用Python脚本,要使用thrift,也许也可以调用shell命令。但因为图像转点阵的程序是用Java实现的,为了方便于是使用Tomcat(我懒)。

有待完善 :

  • 样本每个数字100个样本,有点少,更多更好的样本也许会提高正确率
  • 算法效率低,对每个样本都需要进行矩阵运算。

PS:该项目已在Github开源,BSD许可。

https://github.com/Kcetry/handwriting

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值