一种识别数码管所显示数字的方法
技术领域
本发明涉及识别图像技术领域,特别涉及一种识别数码管所显示数字的方法。
背景技术
采用数码管进行数字显示已经是目前应用非常广泛的一种技术。广泛应用于工业控制、交通、生产领域。数码管是自动化仪表的关键显示设备,显示包括温度、湿度、指标、参数等重要数据。
如图1所示,数码管由固定位置的三条横向线段和四条竖向线段组成,即对应图1中的L1~L7,其中,L4、L6为上部两条竖向线段,L5、L7为下部两条竖向线段。每个线段都有一定的宽度,通过不同线段的显示来形成不同的数字,比如数字1是线段L6和L7显示,数字8是全部线段L1-L7都显示。为了识别显示屏显示的数字,我们首先对显示屏进行拍照,然后对照片进行二值化处理,这样图片中的点只有黑色和白色,显示的线条就是黑色,其他都是白色。
公开文献《数字仪表数码管显示识别设计》发表了一种对于数码管所显示数字的识别方法,利用不同数字的显示特征实现对于数字的识别。
如图2所示,公开文献中对应L1~L7的线条采用字母a~g表示。数码管管脚有效置“0”,数码管无效置“1”。上述方法虽然可以实现对于数码管所显示数字的识别,但是如果遇到拍照效果不好,或者数码管有部分坏点的情况下,则无法实现对于数字的准确识别。
发明内容
有鉴于此,本发明的主要目的在于,提供一种识别数码管所显示数字的方法,其特征在于,包括步骤:
A、对数码管所显示的数字进行拍照,确定数码管三条横向线段上部两竖向线段下部两竖向线段的位置;
B、采用辅助线对各线段进行分割处理;
C、依据所述辅助线与所述各线段的交点,对所显示的数字进行识别。
由上,可依据所做辅助线与线段的交点情况,对显示数字进行识别,克服了由于线段有可能显示不清楚时,无法准确识别的缺陷。
可选的,步骤B包括:
取数码管的三条横向线段的中点,用第一辅助线连接所述三条横向线段的中点;
取数码管的上部两竖向线段的中点,用第二辅助线连接所述两条竖向线段的中点;
取数码管的下部两竖向线段的中点,用第三辅助线连接所述两条竖向线段的中点。
由上,设置三条辅助线,分别与七条线段相交,从而可以获取各条线段的显示情况,克服了由于线段有可能显示不清楚时,无法准确识别的缺陷。
可选的,步骤B包括:
对数码管的三条横向线段中上条线段,在其中点的左侧或右侧取点,对中间线段,在其中点取点,对下条线段,在其中点的右侧或左侧取点,用第一辅助线连接所述三条横向线段所取的点;
对数码管的上部两竖向线段的左侧线段,在其中点上侧或下侧取点,对右侧线段,在其中点下侧或上侧取点,用第二辅助线连接所述上部两条竖向线段所取的点;
对数字的下部两竖向线段的左侧线段,在其中点上侧或下侧取点,对右侧线段,在其中点下侧或上侧取点,用第三辅助线连接所述下部两条竖向线段所取的点。
由上,采用三条辅助线分别与七条线段灵活相交,克服了定点相交时,在相交位置正好出现显示不清楚的特例情况,进一步实现对于显示不清晰的数字的识别。
可选的,步骤B包括:
在数码管的三条横向线段的中点、中点左侧、中点右侧取点,用第一辅助线连接所述三条横向线段的中点,用第二辅助线连接所述三条横向线段中点右侧的取点,用第三辅助线连接所述三条横向线段中点左侧的取点;
在数码管的上部两竖向线段的中点、中点上侧、中点下侧取点,用第四辅助线连接所述两条竖向线段的中点,用第五辅助线连接所述上部两条竖向线段中点上侧的取点,用第六辅助线连接所述两条竖向线段中点下侧的取点;
在数码管的下部两竖向线段的中点、中点上侧、中点下侧取点,用第七辅助线连接所述下部两条竖向线段的中点,用第八辅助线连接所述下部两条竖向线段中点上侧的取点,用第九辅助线连接所述下部两条竖向线段中点下侧的取点。
由上,采用九条辅助线,与各条线段全覆盖相交的模式,彻底克服有可能存在的交点显示不完整的情况。
可选的,步骤C包括:
依据多条辅助线与一条线段的是否存在交点,判断出该条线段是否存在;
依次识别各条线段的存在情况,对显示数字进行识别。
由上,采用九条辅助线,与各条线段全覆盖相交的模式,即便显示再不清晰,可以通过交点的方式对于显示数字的识别。
可选的,依据多条辅助线与一条线段的是否存在交点,判断出该条线段是否存在包括:
假设线段与所述辅助线的交点数量为A;
各个交点的清晰度表示为:Pij/A,式中i表示线段的序号,i=1~7;j表示线段与所述辅助线的交点的序号,j=1~3;
当所述清晰度Pij达到阈值时,判断出该条线段存在。
由上,通过三条辅助线与一条线段的交点的清晰度,实现对于线段是否显示的判断。
可选的,判断清晰度达到阈值包括步骤:
利用公式Pi1/A*W1%+Pi2/A*W2%+Pi3/A*W3%计算线段的清晰度,式中W1%、W2%、W3%分别表示辅助线与线段不同位置交点所占的权重。
可选的,所述权重与辅助线和线段交点距离该线段中点的距离成反比,距离越近,权重越大。
由上,辅助线与线段在中心的交点权重最高,在两侧的交点权重较低,便于对该线段是否存在进行正确的判断。
可选的,所述对显示数字进行识别包括:
如果线线段的清晰度大于80%,定为M1;
如果大于60%小于80%,定为M2;
如果大于20%小于60%,定为M3;
如果小于20%,定为M4;
根据M1的线条组合识别数字,如果唯一识别数字则返回,否则将M1和M4的线条组合识别数字,如果唯一识别数字则返回,否则将M1、M4和M2的线条组合识别数字,如果唯一识别数字则返回;否则将M1-M4的线条组合识别数字,返回可能性的数字集合。
由上,采用交叉组合的方式进行数字识别,可进一步提高对于显示不清晰的数字的识别率。
附图说明
图1为数码管显示数字的示意图;
图2为公开文献中涉及的依据数字的显示特性进行识别的原理示意图;
图3为本发明的流程图;
图4为对各个显示段进行分割的第一分割实施例示意图;
图5为对各个显示段进行分割的第二分割实施例示意图;
图6为对各个显示段进行分割的第三分割实施例示意图。
具体实施方式
为克服现有技术存在的缺陷,本发明提供了一种识别数码管所显示数字的方法,针对拍照效果不佳或者数码管存在坏点的情况下,依然可实现对于数字的识别。
如图3所示,本发明所述方法包括以下步骤:
S10:对数码管所显示的图像进行拍照。
S20:对所拍摄照片进行预处理,确定数字区域。
随所拍摄图像进行预处理的步骤与现有技术相同,即包括灰度处理和二值化处理,上述处理方式比较常规,不再赘述。
对所拍摄照片进行预处理后,还包括确定数码管所在位置以及确定数字线段的步骤,即确定出各个数字的三条横向线段、上部两竖向线段和下部两竖向线段共7条线段的位置。本步骤也同现有技术相同,不再赘述。
S30:对各个显示段进行分割处理。
如图4所示,取线段L1、L2、L3的中点,用第一辅助线P1连接所述线段L1、L2、L3的中点;取线段L4、L6的中点,用第二辅助线P2连接所述线段L4、L6的中点;取线段L5、L7的中点,用第三辅助线P3连接所述线段L5、L7的中点。由此,三条辅助线与线段L1~L7一共存在7个交点。
上述实施例虽然取各个线段的中点,然而实际分割时并非限定仅为按照中点进行分割,可依据线段的显示程度进行分割。例如图5所示,取线段L1左1/3处,取线段L2的中点,取线段L3的右1/3处,第一辅助线P1分别连接上述三个取点。采用上述分割的优异效果在于,不拘泥于统一的分割样式。由于数码管显示不清晰的情况多种多样,若仅采用一种方式对所显示的数字进行分割,则有可能线段正好分割处无法显示,则对后续的数字识别造成影响。
当然,实际取点时也可取L1左1/4处、取线段L2的中点,取线段L3的右1/4处等等。总之,在线段L1的中点左侧取点,在线段L2的中点取点,在线段L3的中点右侧取点。
同理,也可对线段L4、L6进行取点,例如在线段L4上,在其上1/3处取点,对应在线段L4上,在其下1/3处取点,再通过第二辅助线连接所取的点。
再同理,对线段L5、L7进行取点,再通过第三辅助线连接所取的点。
又或者,可以在线段L4、L2、L7上进行取点,通过第一辅助线连接所取的点;在线段L6、L2、L5上进行取点,通过第二辅助线连接所取的点;在线段L1、L2、L3上进行取点,通过第三辅助线连接所取的点。总之,将所做辅助线与数码管的各线段相交,以便在后续步骤中对数码管的显示数字进行识别。
S40:依据分割位置,对显示数字进行识别。
获取辅助线与线段交点,若存在交点,则表示该线段存在。例如显示数字“1”时,辅助线P2与线段L6存在交点,辅助线P3与线段L7存在交点;例如显示数字“2”时,辅助线P1与线段L1、L2、L3存在交点,辅助线P2与线段L6存在交点,辅助线P3与线段L5存在交点。基于此,实现对于数字的识别。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。例如,在步骤S30中,还可采用多辅助线对各个显示段进行分割处理。具体的,如图6所示,取线段L1、L2和L3的左1/3处、中点、右1/3处,分别采用第一辅助线P10连接线段L1、L2和L3的左1/3处,采用第二辅助线P11连接线段L1、L2和L3的中点、采用第三辅助线P12连接线段L1、L2和L3的右1/3处;同理,取线段L4、L6的上1/3处、中点、下1/3处,分别采用第四、五、六辅助线P20、P21、P22连接线段L4、L6的取点;取线段L5、L7的上1/3处、中点、下1/3处,分别采用第七、八、九辅助线P30、P31、P32连接线段L5、L7的取点。由上,采用九条辅助线,与七条线段一共21个交点,即采用更多辅助线,可以更进一步的获知各个线段是否显示的情况。
相应的,在步骤S40中,获得每个线段与辅助线相交的交点数量,依据所述交点数量对数字进行识别。
假设每个线段与辅助线相交的交点数量为A,针对线Li(i=1、2…7)的三个点周围的交点个数实际为Pi1、Pi2、Pi3,每个交点的清晰度利用Pij/A(j=1、2、3)计算获得,线段Li的清晰度利用线上三个交点的加权计算获得,公式为Pi1/A*W1%+Pi2/A*W2%+Pi3/A*W3%。上述公式中W1%、W2%、W3%分别表示辅助线与线段在不同位置的交点的权重。辅助线与线段在中心的交点权重最高,在两侧的交点权重较低。本实施例中,W2%为50%,W1%和W3%分别为25%。
进一步的,还可依据在各个线段中所取点的不同位置,设置不同权重,即权重与距离中点的距离成反比,例如,距离中点越近,权重越接近50%,距离中点越远,权重越小于50%。
如果线Li的清晰度大于80%,则认为这条线是非常清晰的,定为M1;如果大于60%小于80%,则认为这条线是一般清晰的,定为M2;如果大于20%小于60%,则认为这条线是模糊的,定为M3;如果小于20%,我们认为这条线是不显示的,定为M4。
根据M1的线条组合识别数字,如果唯一识别数字则返回;否则将M1和M4的线条组合识别数字,如果唯一识别数字则返回;否则将M1、M4和M2的线条组合识别数字,如果唯一识别数字则返回;否则将M1-M4的线条组合识别数字,此时说明不能唯一识别数字,返回可能性的数字集合。由此可进一步提高对于显示不清晰的数字的识别率。
总之,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。