基于FPGA的数字字符识别系统

电子森林 2019-11-11 07:00

总体设计方案

数字字符识别系统的总体设计框架如图所示,主要包含四大部分:图像采集模块、SDRAM存储模块、图像处理模块、VGA显示模块。首先图像采集模块通过配置摄像头OV7725来进行图像数据的采集,输出RGB565格式的彩色图像数据。接下来将采集到的数据存储到SDRAM存储模块中,进行数据的存储,再通过VGA的显示控制端读出数据进行一系列的图像处理操作,为最后更好的进行数字识别奠定基础。

图像处理模块设计

其中图像处理模块的整体设计框图如图所示,分别为灰度化模块、图像去噪模块、二值化模块、字符分割模块、数字识别模块、识别结果显示模块。图像灰度化模块是先将摄像头采集到的图像数据转化为灰度图像数据,图像去噪模块是对图像数据进行去噪处理,减少图像噪声对后期识别结果的影响,图像二值化模块是将滤波后的数据变成二值化数据,不仅减少了数据量便于处理,而且将数字信息与背景信息区别开,便于后期的字符分割处理。字符分割模块是通过本系统选定的基于投影的字符分割算法进行字符分割处理,将分割后的单个数字字符的边界信息输送给字符识别模块,该模块使用基于字符特征分析的算法进行数字字符的识别,将识别结果传递给模块,读出与识别结果对应的ROM中存储的数字字模信息,显示到VGA显示屏上。以下是对其中的图像去噪模块、字符分割模块、字符识别模块的设计描述。

图像去噪模块设计

因为图像采集与处理过程中会产生噪声,降低图像的质量,对后期的处理结果会产生影响,所以要进行图像去噪处理,本系统采用均值滤波的方法对图像去噪。本模块内部设计如图所示。

字符分割模块设计

本系统所实现的功能为自动检测数字字符位数,并且对这些数字字符进行识别。所以在进行数字字符识别前,必须先对字符进行分割处理,将多位字符分割为单独的字符,并把每个字符的边界位置信息传输给数字识别模块进行识别。本模块内部设计如图所示,由地址扫描模块、地址存储模块、位数检测模块三个子模块组成。

地址扫描模块的作用是通过行列扫描的方式,扫描出一帧图像中所有像素的像素点值的布局情况。地址存储模块就是定义两个RAM存储地址扫描模块的像素点位置信息,先对其进行初始化,内部均存储0,当地址扫描模块扫描到,某个像素的像素值为1时,分别将行场地址信息传递给地址存储模块进行存储,存储为1。位数检测模块便是读取出地址存储模块的数据,用边沿检测的方法进行位数的判断和分割位置的判断。

字符识别模块设计

字符识别模块便是将前期经过处理和分割的图像数据进行识别,判断出所采集到图像中的字符。字符识别模块内部由边沿计算模块和识别模块组成,如图所示。本系统所采用的是基于字符特征分析的识别算法对数字字符进行识别,因此先要根据字符模块输出的每个字符的边界位置信息确定出三条直线,在根据交点数量以及交点位置进行识别结果的判断。

图像处理算法

由摄像头采集到的图像信息中有对系统有用及一些需要进行识别的信息,但也有些无效信息,甚至这些无效信息可能还会对我们识别的结果产生干扰。因此在进行数字识别之前,需要对图像做些处理,处理后不仅可以更好的提取所需要的信息便于识别,也能减小无用信息对图像识别的扰乱,增加系统识别准确率。图像处理流程如图所示。

图像灰度化处理

彩色图像是指每个像素由R、G、B分量构成的图像,其中R、G、B是由不同的灰度级来描述的。但这种图像在实际情况中并没有呈现出图像的特征,仅仅是视觉上颜色的混合。在处理这种图像格式时,因其每个像素都有三个分量且代表意义不同,故不能统一处理,而要分开来处理,但这会浪费大量的时间以及资源。因而,可以采取降维的方法来对其灰度化处理,这样可以提高系统运行效率以及节省硬件资源。当彩色图像三种分量的值相等时,图像将变成灰色。

加权平均法

彩色图像中R、G、B三分量分别代表红色、绿色、蓝色的亮度值,而人眼对这三种颜色的敏感度是不同的,其中绿色的敏感度最高,红色次之,蓝色的敏感度最低。因此,对这三个分量要以不同的权值进行加权平均得到较合理的灰度图像

图像去噪处理

在系统采集数字图像数据以及对这些图像数据处理的过程中将存在一些噪声,噪声会对图像处理结果产生影响,而减少这些噪声存在的处理便叫做图像去噪。这些与我们需要信息无关的噪声,是图像数据中无用的信息,它的存在会对系统采集到的图像数据产生影响,并且会对我们后续的处理产生很多的干扰,以及影响系统识别数字时的准确率,所以需要对图像去噪,减少噪声的影响。图像去噪后能提升图像质量,更清楚的呈现出图像中原有的有用信息而减小无用的干扰信息,改善由于噪声干扰致使图像有用信息被覆盖、质量下降的问题。

本设计利用均值滤波法对图像数据展开图像去噪,该方式为线性滤波算法。先对图像中的像素构建模板,而后对模板中的像素展开处理,即求平均值,最后将得到的平均值赋给原来的像素值。即对图中的P11、P12、P13、P21、P23、P31、P32、P33像素求平均值,用求得的平均值替代红色方块处的像素值。

图像二值化处理

图像经由二值化处理,为后期的数字字符进行分割及获得数字的特征奠定了重要基础[13]。经过这样的处理,图像显示结果将会出现泾渭分明的黑白色彩,常常用于图像的分割、图像的识别等领域。经处理后的图像数据明显得到减少、处理起来更为简单,可以更方便的进行运算,并且更容易获取目标显示区域的几何特征。根据本系统的需求,图像经过二值化处理后,可以提高运算速率以及节省资源,并且最大限度的将我们感兴趣的图像信息保存起来,便于后期进行处理。

对摄像头所采集到的图像信息去噪声后,还要经过处理,才能将需要识别的有效信息与无效信息区分开,便于进行后期的数字识别。而设定一个阈值T后,将所有采集到的像素点的灰度值与T相比较后,便可以将所有的像素点划分为两部分。这样便能成功的将有效信息从无效信息中提取出来。

字符分割算法

本设计是检测及识别多位的数字字符,所以采集到的图像中将会同时存在多位数字,直接进行识别是行不通的,因此先要使用字符分割算法处理,将其分为独立的单个字符图像。一般有基于投影的字符分割、基于聚类分析的字符分割、基于模板匹配的字符分割这三类字符分割算法

基于投影的字符分割

使用此方法的前提是图像为二值化图像,根据二值化处理后图像的特性,可以将需要识别的数字与背景区分出来,而后对图像在垂直及水平方向上投影,并且投影后将重叠的像素的灰度值全部相加。而经过二值化处理后,字符之间像素灰度值0,因此该位置处累加的像素灰度值为0,此位置即为需要进行分割的位置。

基于数字特征分析的识别算法

数字特征分析法是先对数字的结构、形状等特征展开提取,然后对提取到的特征进行分析和统计,来达到识别的目的。在该算法中,如何更好的选取哪种特征来进行识别的基础是非常重要的,一般选取原则是特征容易提取、可以明显区分所有的数字、数字特征不会受到尺寸大小不同而产生影响等。数字特征获取有两种方法:第一种为统计数字字符的长度、宽度、折点等,即对数字字符的结构特征进行提取。第二种为统计字符的像素点数、穿越次数等,即对数字字符的统计特征进行提取。

在本设计中经过一系列的比较分析,将采用提取数字字符的统计特征的方法来识别图像中的数字。即在所识别数字上画两横一竖的三条线,第一条横线位于高度的2/5,第二条横线位于高度2/3处,竖线位于宽度的1/2,接下来对这三条线与数字的交点个数及交点位置进行统计和分析,达到区分出不同数字的目的。以数字7”为例,穿越特征示意图如图所示。

表为对所有数字与三条交线的交点数统计。

由表可知,数字2、3、5不能通过交点个数来区分,所以需要进行下一步的统计,即判断数字与横线X1、X2交点相对于竖线Y的位置,借此区分出数字2、3、5。表2.2为数字2、3、5与横线X1、X2交点相对于竖线Y的位置的统计。

结果演示

本设计可以实现任意的1位到4位的数字字符自动检测、分割、即识别。如图所示为检测1位数字字符识别的二值化图像(左)与采集到的原图像(右),识别后的结果显示在VGA显示屏的下方。

最后

本设计基于QuartusII开发,需要本设计的整个工程的朋友,关注我的订阅号 硅农 后台回复 视频图像处理,即可获得工程的下载方式。喜欢这篇文章就点击在看文末小广告哦!!!

关注我们的小程序,提升自己的设计技能!

  • 硬件工程师的设计帮手

  • 精英工程师的技能提升平台

电子森林 讲述电子工程师需要掌握的重要技能: PCB设计、FPGA应用、模拟信号链路、电源管理等等;不断刷新的行业新技术 - 树莓派、ESP32、Arduino等开源系统;随时代演进的热点应用 - 物联网、无人驾驶、人工智能....
评论
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 94浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 55浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 188浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 112浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 88浏览
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 60浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 135浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 100浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 138浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 35浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 93浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 172浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 170浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 89浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦