knn算法实现的数字手写识别
2016-04-02 10:19
701 查看
界面 :
地址: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
相关文章推荐
- SpringMVC+Mybatis整合实现简单权限控制系统代码
- 多项式加法运算
- hdu1529 Cashier Employment--单源最短路径&差分约束
- vs中项目生成事件写法
- 第1周 C语言及程序设计初步 例程-6 用循环累加
- 二维数组的查找
- Windows平台下忘记Oracle登陆密码解决办法
- 大数据驱动下的微博社会化推荐
- Linux SD卡驱动开发(四) —— SD 控制器之真正的硬件操作
- STL hash_map 详解
- RxJava在Android中使用场景详解
- HDU 5119 Happy Matt Friends(dp)
- RxJava在Android中使用场景详解
- Java技术_Java千百问(0018)_switch如何使用
- 项目3——时间类2
- Sizeof与Strlen的区别与联系
- 一起talk C栗子吧(第一百三十五回:C语言实例--exec系列函数一)
- 黄芪丹参饮,老程序员可试试
- 【笔记】 《js权威指南》- 第4章 表达式和运算符
- ColorFulButton