基于Python实现的手写数字识别
一、准备
-
测试准备:pycharm,windows自带画图功能,python3.5
-
安装python3.5
-
将解压的文件夹拖入pycharm中,设置解释器路径为:文件解压路径\ML_num\venv\Scripts\python.exe
-
若要调用文件,只要点入文件并点击右上角绿色三角或鼠标右键点 run 相应文件
二、手写数字识别
调用UI.py 得如图界面:
测试可用windows自带画图功能,刷子选用喷枪,粗细第3个,尽量喷清楚,图片后缀为.png图片大小为400*400像素(其他大小也行只要不小于32*32)如下:
点击选择文件找到测试文件,选择是否使用备份(默认使用)再点击开始识别, 可选择自动识别或手动识别,手动识别截图时鼠标左键按住拖动即可(数字周围尽量有些许空,若识别错误,很大原因是由于截的图左右空格太小、太大),再输入真实值,结果为:文件名为输入的真实值_最大数字.txt。以下结果为文件名为:6_3.txt 如图:
三、摄像头
务必使用笔记本电脑,数字尽量写得大一些,尽量在光线明亮处拍摄,点击摄像头,如图:
按q键退出,其他键拍摄,之后点击开始识别与第二部分相同。
四、介绍
-
使用的非标准库:opencv,numpy,pillow
-
机器学习技术:KNN邻近
-
引用:《机器学习实战》源码并对其中部分内容修改,增加部分操作;部分代码参考cnblog与CSDN
文件介绍
-
data_set:备份文件夹
-
images:图片文件
-
testDigits:测试数据
-
testDigits(测试):正确率测试数据
-
trainingDigits:训练数据
-
vedio_cut.py:摄像头拍摄
-
hand_number.py:截取图片并修改大小为32*32, 转为灰度图
-
zero_one.py:将灰度图转为01矩阵并存入testDigits文件夹内
-
kNN.py:k值邻近算法识别数字并统计结果, 可以选择使用备份数据训练识别或重新开始
-
get_next_num.py:得到指定数据文件数量
-
check:测试正确率
-
UI.py:使用tkinter库构造界面
-
新增im:样例图片
参考文献
- 数字证书认证系统设计与实现(山东大学·张鑫)
- 深度学习在社交网络文本分类中的应用研究(大连交通大学·方金朋)
- 基于知识图谱的开放空间知识采集系统(中南民族大学·马荣香)
- 基于机器视觉的CoreXY结构写字机器人的研究与实现(吉林化工学院·徐振中)
- 基于网络爬虫的信息采集分类系统设计与实现(厦门大学·周茜)
- 基于深度学习的手写试卷自动评阅系统设计与实现(佛山科学技术学院·卢明亮)
- 基于RFID技术的数据中心设备管理系统设计研究(华东理工大学·潘濛濛)
- 基于深度学习的手写试卷自动评阅系统设计与实现(佛山科学技术学院·卢明亮)
- 网络信息采集技术及中文未登录词算法研究(北京邮电大学·陈浩)
- Python知识自动问答系统的研究与实现(河北工程大学·郝光兆)
- 基于深度学习的蒙古文OCR系统的设计与实现(北京邮电大学·白义嘎力)
- 基于深度学习的蒙古文OCR系统的设计与实现(北京邮电大学·白义嘎力)
- 门把手式人手生物特征识别系统设计与开发(哈尔滨工业大学·孙伟)
- 门把手式人手生物特征识别系统设计与开发(哈尔滨工业大学·孙伟)
- 数字证书认证系统设计与实现(山东大学·张鑫)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设货栈 ,原文地址:https://bishedaima.com/yuanma/35522.html