三、基于SVM算法实现手写数字识别
作为一个工科生,而非数学专业的学生,我们研究一个算法,是要将它用于实际领域的。下面给出基于OpenCV3.0的SVM算法手写数字识别程序源码(参考http://blog.youkuaiyun.com/firefight/article/details/6452188)程序略有改动。
本部分将基于OpenCV实现简单的数字识别,待识别图像如下图所示,通过以下几个步骤实现图像中的数字的自动识别。
1.使用OpenCV训练手写数字识别分类器;
2.图像预处理及图像分割;
3.应用分类器进行识别。
3.1使用OpenCV训练手写数字识别分类器
所谓学习分类器就是根据训练样本,选取模型训练产生数字分类器,这里采用上文提到的SVM算法。
训练集使用MNIST,这个MNIST数据库是一个手写数字的数据库,它提供了六万的训练集和一万的测试集。它的图片是被规范处理过的,是一张被放在中间部位的28px*28px的灰度图。总共包含4个文件,