OCR(Optical Character Recognition光学字符识别),如今已经广泛的运用到了各种领域。本次创建一个识别手写数字的程序使用的是knn算法,属于机器学习中的监督学习需要大量的训练数据样本进行訓练,然后根据训练结果进行识别
图中绿色的点会根据k的值取值,再根据取到值颜色的多少来判断绿色的点是属于红色还是蓝色把这個过程就叫做分类。
OpenCV安装包里有一张图片digits.png(如下图)图片上是5000个手写数字,每个数字重复500遍分别是0-9。每个数字都是20x20的小图我们将这個图片在重新排成一行含有400个像素点的新图像。以这个为特征集所有像素的灰度值。
跑一遍程序最终得到准确率为91.76%。
在运行的过程中每次都会去读取图片准备训练分类器,我们可以运行一次后把它保留下来下次运行的时候,直接读取这些數据大大提高运行的效率。
想要提高手写数字识别率只有不断的增加训练的样本。
发布了13 篇原创文章 · 获赞 15 · 访问量 7万+