在OpenCV里用kNN实现手写数字识别

本文里将要学习用kNN来构造一个OCR应用,实现手写数字的识别。为了实现这个需求,我们需要一些训练数据和测试数据,在OpenCV里有一个手写数字的图片digits.png,这个图片里包含有5000个手写字体的数字,每个数字有500个,每个数字图片大小为20X20个像素。如下图所示:

因此,首先就是把5000个数字进行分割,每个数字从二维展开成400个像素,这样构造出我们特征集合,也是非常最简单的特征集合。接着把每个数字前面250个当作训练数据,后面250个当作测试数据。

 

为了把这个大图进行拆分,先要进行行拆分,使用numpy里的函数vsplit,它的作用如下:

numpy.vsplit(ary, indices_or_sections)

第一个参数是输入要拆分的数组,第二个参数是拆分的大小。

>>> x = np.arange(16.0).reshape(4, 4)

>>> x

array([[  0.,  

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览

应支付9.90元
点击重新获取
扫码支付

支付成功即可阅读