python数字识别库_OpenCV3-Python下ANN进行MNIST数字识别

本文介绍了使用OpenCV3和Python的ANN库进行MNIST数据库的手写数字识别。首先,概述了MNIST数据库并展示了如何加载数据。接着,详细解释了输入层、隐藏层和输出层的参数配置。文章还封装了一个迷你库,包含数据加载、模型创建、训练和预测功能。最后,提供了实际的图像识别示例,通过找到图像中的数字轮廓并进行识别。
摘要由CSDN通过智能技术生成

1. MNIST数据库

MNIST数据库是Web上非常流行的OCR和手写字符识别分类器的训练资源。

下载mnist.pkl.gz数据集,并将其放置到与.py文件同级目录下。

2. 初始化参数

(1)输入层

由于采用MNIST数据库,它里面的每幅图像大小为28x28像素,即784像素,因此输入层有784个输入节点。

(2)隐藏层

隐藏层大小没有固定,通过多次尝试发现,在训练数据量不大的情况下,50-60个节点可得到最好结果。

(3)输出层

输出层为0-9的数字,共10个节点。

3. 封装ANN库

为了尽可能自行执行,此处建立了一个迷你库,用来封装ANN到OpenCV中的原始实现。

注意:pickle是MNIST数据库序列化库,需要提前确保已安装。

digits_ann.py内容如下:import cv2

import pickle

import numpy as np

import gzip

"""OpenCV ANN Handwritten digit recognition example

Wraps OpenCV's own ANN by automating the loading of data and supplying default paramters,

such as 20 hidden layers, 10000 samples and 1 training epoch.

The load data code is taken from http://neuralnetworksanddeeplearning.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值