基于神经网络的印刷体数字识别算法的研究摘要印刷体数字识别(printednumeralrecognition)是光学字符识别技术(opticalcharacterrecognition,ocr)的一个分支,是文字识别的重要组成部分。本文以vc为平台,运用人工神经网络的思想(主要采用bp神经网络),实现了对印刷体数字识别。关键词数字识别;图像预处理;特征提取;神经网络引言目前,识别技术已经广泛地应用到了各个领域中。为了达到对一幅图像中的数字进行识别的目的,我们要对图像进行一些处理,这些处理工作的好坏直接决定了识别的质量,这些处理技术依次为图像的读取、对读取的图像进行灰度变换、按照量化指标对灰度变换后的图像进行二值化、然后对二值化后的图像中的字符信息进行切分等。在进行完上述预处理工作后进行特征提取,再输入到已经训练好的bp网络进行识别。1识别的流程识别的流程按照引言中的步骤进行,主要分为两大部分,第一部分为图像的预处理、第二部分为通过神经网络进行印刷体数字的识别。预处理部分的流程:图像输入-灰度变换-图像二值化-紧缩重排-归一化调整-图像分割-特征提取。神经网络数字识别的具体流程:样本训练-字符特征输入-识别并给出结果。2基于神经网络的特征提取算法概述图像在经过了前期的预处理后,由原来杂乱无章的字符变为了整齐排列的、大小相同的一列字符,在这里图像归一化后的宽度为8像素,高度为16像素,这样就大大方便了对字符特征的提取。我们把提取的特征存储在特征向量里,然后把特征向量输入到神经网络中,这样就可以对字符进行识别了。由以上的论述我们可以得出结论,特征提取的算法是整个识别过程的关键,它的好坏直接决定了识别的成败。对图像中的字符进行特征提取的算法有很多,下面对几种重要的分别进行介绍。2.1骨架特征提取法由于图像的来源不同,这就使得图像的线条所使用的像素不同,在图像上表现出来就是线条的粗细的不同,这样就使得它们的差别很大。如果我们将不同的图像统一到相同的像素水平,那么它们的差别也就不那么明显了。我们使用骨架特征提取算法,就会使得识别具有一定的适应广度和宽度。2.2逐像素特征提取法这种图像的特征提取算法是最为常用的方法,它的特点是能够保留图像中的全部特征信息,不过这种特征提取算法对图像的噪声较为敏感,对原始图像的质量要求较高,它采用逐行扫描的办法,对图像进行扫描,为整个图像建立一个以图像中的像素个数相同的特征向量矩阵。矩阵值为0或1,图像中的黑色像素记为1,白色像素记为0。2.3垂直方向数据统计特征提取法此算法是对逐像素提取算法的改进,他使得特征向量矩阵的维数降低,便于后期的识别。该算法首先对图像进行水平扫描,在这一过程中,统计没一列的黑色像素数,然后进行对图像进行垂直扫描,并记录每一行上的黑色像素数,对于一个字符宽度和长度为w和h的字符,他的特征向量的维数就为w+h。2.4特征点提取法这一特征提取算法首先对字符进行分割,利用实现设定的四条线将字符分为八个部分,分别统计每个部分中黑色像素的数目,可以得到八个特征。然后统计水平和垂直两个方向上,穿过四条线的黑色像素数,得到四个特征,最后将整个图像中黑色像素的数目作为一个特征,一共得到十三个特征。该方法具有很强的适应性,但是由于特征点较少,使得在样本的训练过程中很难收敛。可以看出,识别算法各有特点,根据实践需要,本识别算法中的特征提取算法采用逐像素特征提取法。原因是这种算法的执行效率高,方法简单容易实现,且对于神经网络来说有很快的收敛性,具有较好的训练效果。3bp网络进行数字识别算法设计bp网中中各层中的节点数是设计bp网络最基本的一点,对于神经网络的输入层而言,其节点数为经过图像预处理里后特征向量的维数。可以直接利用每个点的像素值作为特征,这里特征提取采用逐像素提取法,归一化后图像的宽度为8,高度为16,因此对于输入样本来说,每一个样本都会由128个特征,因此神经网络的输入层的特征数为128。对于神经网络内部隐藏层的节点数来说,其节点数没有特别的规定,总的来说,隐藏层的神经元的数目与神经网络的精度成正比,与训练时间成反比。如果神经网络的神经元设置的过多,...