数码管动态显示识别方法及系统与流程

文档序号:14727120发布日期:2018-06-19 11:40阅读:404来源:国知局

本发明涉及图像识别技术领域,具体而言,涉及一种数码管动态显示识别系统。



背景技术:

目前,各种数字识别技术比如车牌识别或手写字体识别技术都有了很大改进,但是这些技术不适合处于动态显示的数字,因为目前都是使用摄像头或者照相机随机拍照或随机截取一帧图像进行图像识别,会造成会使图像残缺或出现非法值,无法捕捉到完整的图片。除此之外,目前只针对同一种型号的仪器的数码管显示进行数字识别,不能针对任意按位扫描的七段式仪器的数码管显示进行识别。

中国专利文献CN105512626A中公开了一种识别数码管显示数字的方法,其方法还是通过数码管对显示的图像进行拍照,之后对图像进行识别,该方法不能很好地解决数码管动态显示的识别。



技术实现要素:

本发明的主要目的在于提供一种数码管动态显示识别方法,以解决现有技术中数码管动态显示识别困难的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种数码管动态显示识别方法,包括以下步骤:

(a)获取数码管动态显示周期,

通过光电转换模块采集并输出数码管动态显示的模拟信号,之后通过模数转换器采集光敏电阻输出的模拟信号转换成数字信号并将数字信号传输至可编程逻辑器件,所述可编程逻辑器件对接收到的数字信号,进行峰值检测,检测峰值之间的时间间隔,所述时间间隔即为作为数码管动态显示周期的数字信号的周期;

(b)可编程逻辑器件将数字信号的周期作为数码管动态扫描的周期传输至PC端,PC端将数码管动态扫描的周期设定为相机曝光时间,相机捕捉数码管的显示屏并将捕捉的图像传输至PC端的图像识别模块;

(c)图像识别模块对接收到的图像进行数字识别。

通过本发明实现了一次捕捉数码管动态显示的完整图像,由此实现了数码管动态显示的识别。

进一步地,在步骤(a)中可编程逻辑器件对接收到的数字信号实时扫描确定出数字信号的峰值,然后以该峰值作为触发条件,当实时的采集到第一个峰值后开始计数,采集到第二个峰值停止计数,然后通过计数结果算出数字信号的周期,该数字信号的周期大于40ms。

进一步地,所述步骤(b)中可编程逻辑器件通过串口模块将数字信号的周期传输至图像识别模块,当PC端需要知道数码管动态扫描的周期时,通过串口模块发送给可编程逻辑器件发送一个‘F’,可编程逻辑器件接收到‘F’后将会把数字信号的周期通过串口模块传到PC端。

进一步地,所述图像识别模块识别步骤为:

(1)规范接收到的图像大小;

(2)将图像转换成灰度图像;

(3)对图像进行去噪处理;

(4)将图像二值化处理;

(5)对图像进行分割,根据图像的水平投影图进行初定位,从图像上部至下部进行遍历,遍历至某一行含有白点像素值并且白点像素个数大于100即进入发现字符状态,继续向下遍历至没有白点像素值为止,如果此时处于发现字符状态,分割图片即初定位图,再对初定位图根据图像的垂直投影进行图像分割,分割为从右至左遍历,如果发现某列有白色像素点并且白色像素点个数大于10时,即第一次进入字符区,记录此时的列编号startIndex,继续向左遍历,遍历至白色像素值小于2时,进入了字符之间的间隔区,记录此时的列编号midIndex,继续向左遍历,如果此时遍历的数字不是第一位数字,遍历至再次有白色像素点并且白色像素点个数大于10时,结束遍历,记录此时列编号为endIndex,选择startIndex为起始位置,midIndex与endIndex的靠midIndex的三分之一的位置为结束字符区位置,截取图片即字符图片,继续向左遍历,有白色像素点并且白色像素点个数大于10时,再次进入第二张图的字符区,然后重复以上步骤,如果遍历至第一列都没有第二次次遇到有白色像素点并且白色像素点个数大于10,则此时正在遍历第一位数字,选择startIndex为起始位置,midIndex为结束位置,截取图片,结束遍历;

(6)对每一个分割图像进行分析,先识别数字部分,对数字图像在水平和垂直方向上分别分析,垂直方向上,判断图像与图像中垂线的交点,将图像沿中垂线从上至下遍历,水平方向上,判断图像与图像高度的0到八分之一行之间、八分之三到八分之五行之间、八分之七到最后一行之间的交点,将图像沿线从左至右遍历;之后识别小数点部分,以上图片再识别时,同时也需要识别每个图片里面是否存在小数点,检测图片右下角部分,如果白点像素比例大于百分之五十,则判断出小数点。

由此,本发明除了对同一种型号的仪器的数码管显示进行数字识别之外,还能针对任意按位扫描的七段式仪器的数码管显示进行识别。

进一步地,所述模数转换器为高速模数转换芯片。

进一步地,所述可编程逻辑控制器件为FPGA。

为了实现上述目的,根据本发明的另一个方面,还提供了一种数码管动态显示识别系统,其特征在于,包括依次相连的光电转换模块、模数转换器、可编程逻辑器件、PC端,还包括内置于PC端的图像处理模块以及与PC端相连的相机。

进一步地,所述可编程逻辑器件与PC端通过串口模块相连。

进一步地,所述模数转换器为高速模数转换芯片。

进一步地,所述可编程逻辑控制器件为FPGA。

可见,采用本发明能够一次捕捉数码管动态显示的完整图像,由此实现了数码管动态显示的识别。

下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

构成本发明的一部分的附图用来辅助对本发明的理解,附图中所提供的内容及其在本发明中有关的说明可用于解释本发明,但不构成对本发明的不当限定。在附图中:

图1为本发明中一种数码管动态显示识别系统的系统流程示意图。

具体实施方式

下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图对本发明进行说明前,需要特别指出的是:

本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。

此外,下述说明中涉及到的本发明的实施例通常仅是本发明一分部的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

关于本发明中术语和单位。本发明的说明书和权利要求书及有关的部分中的术语“包括”、“具有”以及它们的任何变形,意图在于覆盖不排他的包含。术语“高速AD”即为高速AD芯片,是高速模数转换芯片的一种;术语“FPGA”表示现场可编程门阵列;“PC端”为计算机端。

根据本发明的一个方面,提供了一种数码管动态显示识别方法,包括以下步骤:

(a)获取数码管动态显示周期,

通过光电转换模块采集并输出数码管动态显示的模拟信号,之后通过模数转换器采集光敏电阻输出的模拟信号转换成数字信号并将数字信号传输至可编程逻辑器件,所述可编程逻辑器件对接收到的数字信号,进行峰值检测,检测峰值之间的时间间隔,所述时间间隔即为作为数码管动态显示周期的数字信号的周期;

(b)可编程逻辑器件将数字信号的周期作为数码管动态扫描的周期传输至PC端,PC端将数码管动态扫描的周期设定为相机曝光时间,相机捕捉数码管的显示屏并将捕捉的图像传输至PC端的图像识别模块;

(c)图像识别模块对接收到的图像进行数字识别。

通过本发明实现了一次捕捉数码管动态显示的完整图像,由此实现了数码管动态显示的识别。

在步骤(a)中可编程逻辑器件对接收到的数字信号实时扫描确定出数字信号的峰值,然后以该峰值作为触发条件,当实时的采集到第一个峰值后开始计数,采集到第二个峰值停止计数,然后通过计数结果算出数字信号的周期,该数字信号的周期大于40ms。

所述步骤(b)中可编程逻辑器件通过串口模块将数字信号的周期传输至图像识别模块,当PC端需要知道数码管动态扫描的周期时,通过串口模块发送给可编程逻辑器件发送一个‘F’,可编程逻辑器件接收到‘F’后将会把数字信号的周期通过串口模块传到PC端。

所述图像识别模块识别步骤为:

(1)规范接收到的图像大小;

(2)将图像转换成灰度图像;

(3)对图像进行去噪处理;

(4)将图像二值化处理;

(5)对图像进行分割,根据图像的水平投影图进行初定位,从图像上部至下部进行遍历,遍历至某一行含有白点像素值并且白点像素个数大于100即进入发现字符状态,继续向下遍历至没有白点像素值为止,如果此时处于发现字符状态,分割图片即初定位图,再对初定位图根据图像的垂直投影进行图像分割,分割为从右至左遍历,如果发现某列有白色像素点并且白色像素点个数大于10时,即第一次进入字符区,记录此时的列编号startIndex,继续向左遍历,遍历至白色像素值小于2时,进入了字符之间的间隔区,记录此时的列编号midIndex,继续向左遍历,如果此时遍历的数字不是第一位数字,遍历至再次有白色像素点并且白色像素点个数大于10时,结束遍历,记录此时列编号为endIndex,选择startIndex为起始位置,midIndex与endIndex的靠midIndex的三分之一的位置为结束字符区位置,截取图片即字符图片,继续向左遍历,有白色像素点并且白色像素点个数大于10时,再次进入第二张图的字符区,然后重复以上步骤,如果遍历至第一列都没有第二次次遇到有白色像素点并且白色像素点个数大于10,则此时正在遍历第一位数字,选择startIndex为起始位置,midIndex为结束位置,截取图片,结束遍历;

(6)对每一个分割图像进行分析,先识别数字部分,对数字图像在水平和垂直方向上分别分析,垂直方向上,判断图像与图像中垂线的交点,将图像沿中垂线从上至下遍历,水平方向上,判断图像与图像高度的0到八分之一行之间、八分之三到八分之五行之间、八分之七到最后一行之间的交点,将图像沿线从左至右遍历;之后识别小数点部分,以上图片再识别时,同时也需要识别每个图片里面是否存在小数点,检测图片右下角部分,如果白点像素比例大于百分之五十,则判断出小数点。

所述模数转换器为高速模数转换芯片。

所述可编程逻辑控制器件为FPGA。

为了实现上述目的,根据本发明的另一个方面,还提供了一种数码管动态显示识别系统,包括依次相连的光电转换模块、模数转换器、可编程逻辑器件、PC端,还包括内置于PC端的图像处理模块以及与PC端相连的相机。

所述可编程逻辑器件与PC端通过串口模块相连。

所述模数转换器为高速模数转换芯片。

所述可编程逻辑控制器件为FPGA。

以下结合附图对本发明数码管动态显示方法及系统做进步说明。

如图1所示,本具体实施方式中一种数码管动态显示识别系统包括依次相连的光电转换模块、模数转换器、可编程逻辑器件、串口模块、PC端、相机,所述PC端内置图像处理模块。

首先,计算数码管周期,先将光电转换模块放置在待测仪器仪表显示屏上显示的首位数据前,本具体实施方式中光电转换模块采用光敏型号5516的光敏电阻模块。

然后用高速AD(型号AD9226),以50MHz的采集频率采集光电转换模块输出的模拟信号。

然后,高度AD将采集到的模拟信号转换为数字信号之后实时的传输到FPGA上,本具体实施方式中FPGA采用的型号为EP4CE10F17C8,数字信号即可实时的传输到FPGA上,在FPGA中先实时扫描40ms确定出数字信号的峰值,该实时扫描时间通过余晖效应确定,然后以峰值为触发条件,当实时的采集到第一个峰值后开始计数,采集到第二个峰值停止计数。然后通过计数结果算出数字信号的周期,数字信号的周期作为数码管动态扫描的周期。当PC端需要知道的数码管动态扫描的周期时,通过串口模块发送给FPGA发送一个’F’。FPGA接收到‘F’后将会把数字信号的周期通过串口模块传到PC端。

PC端将收到的数码管动态扫描的周期设置为相机的曝光时间,相机根据曝光时间捕捉照片并传送至PC端,相机的位置需要提前调整,即相机只正对准数码管的显示屏。

图像识别模块首先将传至PC端的图像大小规范为800×600,首先使用颜色空间转换函数将彩色图片转换成灰度图像,然后进行图像去噪,减少数字图像中噪声干扰,再将图像二值化处理,也就是将整个图像呈现出明显的只有黑和白的视觉效果。

根据图像的水平投影图进行初定位,从图像上部至下遍历,遍历至某一行含有白点像素值并且白点像素个数大于100,即进入发现字符状态,继续向下遍历至没有白点像素值,如果此时处于发现字符状态,则结束遍历。

再根据图像的垂直投影,进行图像分割。分割程序从右至左遍历,如果发现某列有白色像素点并且白色像素点个数大于10时,即第一次进入字符区,记录此时的列编号startIndex,继续向左遍历,遍历至白色像素值小于2时,进入了字符之间的间隔区,记录此时的列编号midIndex,继续向左遍历,如果此时遍历的数字不是第一位数字,遍历至再次有白色像素点并且白色像素点个数大于10时,结束遍历,记录此时列编号为endIndex,选择startIndex为起始位置,midIndex与endIndex的靠midIndex的三分之一的位置为结束字符区位置。继续向左遍历,有白色像素点并且白色像素点个数大于10时,再次进入第二张图的字符区,然后重复以上步骤。如果遍历至第一列都没有第二次次遇到有白色像素点并且白色像素点个数大于10,则此时正在遍历第一位数字,选择startIndex为起始位置,midIndex为结束位置,结束遍历,由此实现对图像的分割。因为七段式数码管均是右倾,所以小数点被分在相离最近的数字图片中。

对每一个分割图像进行分析,首先是识别数字部分。

一个图像可以定义为二维数组f(x,y),对数字图像在水平和垂直方向上分别分析,垂直方向上,判断图像与图像中垂线的交点,将图像沿中垂线从上至下遍历,令y1、y2、y3三个布尔变量初始值为false,如果在0到图像八分之一行之间,有白像素点即有交点则令y1为true,如果在图像八分之三行与图像八分之五之间有白像素点即有交点则令y2为true,如果在图像八分之七行与图像最后一行之间有白像素点即有交点则令y3为true。

此时可以判断出,

当y1为true、y2为false、y3为true时,图像表示的数字是0;

当y1为true、y2为false、y3为false时,图像表示的数字是7;

水平方向上,令x1、x2、x3、x4四个布尔变量初始值为false。将图像沿中垂线从左至右遍历,三分之一行处,如果图像在零至三分之一列之间有白像素点即有交点则令x1为true;如果图像在三分之二列至最后一列之间有白像素点即有交点则令x2为true。三分之二行处,如果图像在0至三分之一列之间有白像素点即有交点,则令x3为true;如果图像在三分之二列至最后一列之间有白像素点即有交点则令x4为true。

此时可以判断出,

当y1为false、y2为true、y3为false且x1为true、x2为true、x3为false、x4为true时图像表示的数字是4;

当y1为true、y2为true、y3为true且x1为true、x2为false、x3为false、x4为true时图像表示的数字是5;

当y1为true、y2为true、y3为true且x1为false、x2为true、x3为false、x4为true时图像表示的数字是3;

当y1为true、y2为true、y3为true且x1为false、x2为true、x3为true、x4为false时图像表示的数字是2;

当y1为true、y2为true、y3为true且x1为true、x2为true、x3为false、x4为true时图像表示的数字是9;

当y1为true、y2为true、y3为true且x1为true、x2为true、x3为true、x4为true时图像表示的数字是8;

当y1为true、y2为true、y3为true且x1为true、x2为false、x3为true、x4为true时图像表示的数字是6;

当上述条件都不满足时,则图像表示的数字为1。

识别小数点部分,以上图片再识别时,同时也需要识别每个图片里面是否存在小数点,如果白点像素比例大于百分之五十,则判断出小数点。

通过本发明数码管动态显示识别方法及系统,能够一次捕捉数码管动态显示的完整图像,由此实现了数码管动态显示的识别,尤其是针对按位扫描的动态显示的七段式数码管仪器。

以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1