技术领域
本发明涉及万用表读数识别技术领域,是一种数字式万用表读数识别方法。
背景技术
数字式万用表功能繁多,对其校准的操作复杂,企业无法对分配出大量的技术人员用于仪表的检定,导致检定效率低下、检定费用高额等情况并且通常的人工检测需要对标准源的输出以及数字式万用的示数进行实时的记录与切换,这种工作强度极易导致检定人员的视觉疲劳,无法进行长时间的记录,并容易读取错误的数据;基于此本设计利用图像分割识别字符的方法解决此问题。
发明内容
本发明为更准确的识别万用表读数,本发明提供了一种数字式万用表读数识别方法,本发明提供了以下技术方案:
一种数字式万用表读数识别方法,包括以下步骤:
步骤1:通过相机采集数字式万用表的读数图像,并对读数图像进行预处理;
步骤2:根据预处理后的图像,对预处理后的图像进行裁剪,对裁剪后的区域进行数字串识别;
步骤3:根据识别后的数字串,进行小数点识别。
优选地,所述步骤1具体为:
步骤1.1:采用高斯模糊化方法和直方图均衡化方法对采集到的读数图像进行处理,剔除白噪声;
步骤1.2:通过图像的二值化处理,将图像的视觉效果分为非黑即白,通过选定的阈值将0~255之间的亮度等级的灰度图像区分开,特定物体与物体区域外的图像判定方法根据当下的阈值与选定的相比较,当所有大于或等于阈值的像素将其灰度值设置成255,反之灰度值变为0,得到反映整体和局部特征的二值化图像;
当图像上的灰度值相同但物体的背景仍存在差别,将差别特征转换为灰度的差别,然后采用阈值选取技术来分割图像,采用高斯阈值法进行二值化得到预处理后的图像。
优选地,所述阈值选取技术还包括包括:双峰法选取阈值T、大津法选取阈值T和迭代法确定阈值T。
优选地,所述步骤2具体为:
步骤2.1:根据预处理后的图像,对预处理后的图像进行裁剪,在水平方向上进行裁切的依据是投影到水平轴的像素数值积分超过某一阈值并连续,有效行列的确定在投影轴上累计超过20个白色像素,有效字符宽度确定是在行或列上连续有效超过35个像素,连续有效像素不超过35个的与相邻的无效区域合并视为同一段无效区域,将无效区域裁剪掉,得到裁剪后的区域;
步骤2.2:对裁剪后的区域进行数字串识别,将单个数字分为编号1~7的七部分,通过判断这七部份的有无来对整个数字进行编码,在对照数据表得出该数字的值,分割后的图像除了数字“1”以外其余单个图片的长宽比均为1.9:1,因此对于数字“1”的检测可以通过读取数字的长宽比例来确定,对于除了1以外的数字通过检测有效地像素比例是否超过20%来确定是否存在线条,根据检测到线条的位置进行编码,根据编码确定数字。
优选地,所述步骤3具体为:
利用计算字符串的宽度和字符间距来判断小数点的位置和读数,设置两个数组m[]和L[]分别存储字符串分割结束时的位置和字符之间的距离,则通过下式表示图像上位置为i的数字宽度l
l
其中,i≥2;
确定每个字符平均宽度
其中,n代表要识别的字符个数,l
当所有字符中未出现数字“1”时,且l
本发明具有以下有益效果:
本发明和现有方法相比,所设计的方法运算复杂度低,效果高,针对数字式万用表数码管显示数字识别效果好。
由于在识别数字式仪表的过程中采用固定装置对其固定,这样就使得拍摄的相机和仪表的相对位置固定,因此对于同一种类型的数字式仪表,相机在每次所拍到的图片上数字的像素位置一致,在对图像识别时,只需要对图像上固定的像素就行分割即可以达到识别要求。这样在每次处理的过程中可以去除图像上的干扰因素,提高了识别的准确性。
附图说明
图1为数字式万用表读数识别方法流程图;
图2为图像背景与目标直方图;
图3为灰度图像;
图4为裁剪后的数字图像;
图5为单个字符示意图;
图6为编码检测示意图。
具体实施方式
以下结合具体实施例,对本发明进行了详细说明。
具体实施例一:
根据图1至图6所示,本发明提供一种数字式万用表读数识别方法,具体为:
根据图1所示,一种数字式万用表读数识别方法,包括以下步骤:
步骤1:通过相机采集数字式万用表的读数图像,并对读数图像进行预处理;
所述步骤1具体为:
步骤1.1:采用高斯模糊化方法和直方图均衡化方法对采集到的读数图像进行处理,剔除白噪声;
步骤1.2:通过图像的二值化处理,将图像的视觉效果分为非黑即白,通过选定的阈值将0~255之间的亮度等级的灰度图像区分开,特定物体与物体区域外的图像判定方法根据当下的阈值与选定的相比较,当所有大于或等于阈值的像素将其灰度值设置成255,反之灰度值变为0,得到反映整体和局部特征的二值化图像;
当图像上的灰度值相同但物体的背景仍存在差别,将差别特征转换为灰度的差别,然后采用阈值选取技术来分割图像,采用高斯阈值法进行二值化得到预处理后的图像,灰度图像如图3所示。
所述阈值选取技术还包括包括:双峰法选取阈值T、大津法选取阈值T和迭代法确定阈值T。三种阈值选取后对图像二值化都能够将数字式仪表的背景与图像呈现出明显的黑白效果。而通过大津法确定的阈值在二值化处理后,数字背景存在黑色斑点,迭代法二值化后的图像数字边缘比较模糊,相比之下局部自适应法中的高斯阈值法选取的阈值对图像二值化处理后的图片效果最好,因此本设计在对数字式仪表屏幕的图像处理采用高斯阈值法进行二值化得到预处理图像z三种阈值选取后对图像二值化都能够将数字式仪表的背景与图像呈现出明显的黑白效果。而通过大津法确定的阈值在二值化处理后,数字背景存在黑色斑点,迭代法二值化后的图像数字边缘比较模糊,相比之下局部自适应法中的高斯阈值法选取的阈值对图像二值化处理后的图片效果最好,因此本设计在对数字式仪表屏幕的图像处理采用高斯阈值法进行二值化得到预处理图像。
当被选取的图像的灰度分布均匀并有规律,即各个目标和背景在图像直方图各自形成的波峰之间存在波谷,那么即可以选择如下图2所示的双峰下的波谷对应的灰度值作为二值化区分的阈值。
高斯加权阈值确定阈值T
高斯加权阈值的选取方法是通过点(x,y)到某一个特定窗口的中心点距离进行高斯卷积得到。阈值可以表示为:
其中,w
由于数字式仪表采用固定装置对其固定,采用机械臂控制的方式对相机进行拍照,这样就使得相机和仪表的相对位置固定,因此对于同一种类型的数字式仪表,相机在每次所拍到的图片上数字的像素位置一致,在对图像识别时,只需要对图像上固定的像素就行分割即可以达到识别要求。这样在每次处理的过程中可以去除图像上的干扰因素,提高了识别的准确性。
因为相机和电表的位置固定,所以不需要找出识别区域,直接按照参数裁剪原图片分离出单个字符,并将图像进行二值化处理。
步骤2:根据预处理后的图像,对预处理后的图像进行裁剪,对裁剪后的区域进行数字串识别;
所述步骤2具体为:
步骤2.1:根据预处理后的图像,对预处理后的图像进行裁剪,在水平方向上进行裁切的依据是投影到水平轴的像素数值积分超过某一阈值并连续,有效行列的确定在投影轴上累计超过20个白色像素,有效字符宽度确定是在行或列上连续有效超过35个像素,连续有效像素不超过35个的与相邻的无效区域合并视为同一段无效区域,将无效区域裁剪掉,得到裁剪后的区域,如图4所示;
步骤2.2:根据图5和图6所示,对裁剪后的区域进行数字串识别,将单个数字分为编号1~7的七部分,通过判断这七部份的有无来对整个数字进行编码,在对照数据表得出该数字的值,分割后的图像除了数字“1”以外其余单个图片的长宽比均为1.9:1,因此对于数字“1”的检测可以通过读取数字的长宽比例来确定,对于除了1以外的数字通过检测有效地像素比例是否超过20%来确定是否存在线条,根据检测到线条的位置进行编码,根据编码确定数字。
编码为(0,1,1,1,1,1,1),根据表1的数据表所示,可以得出该数字为数字“6”。
表1数码管字符对应数字编码
步骤3:根据识别后的数字串,进行小数点识别。
所述步骤3具体为:
利用计算字符串的宽度和字符间距来判断小数点的位置和读数,设置两个数组m[]和L[]分别存储字符串分割结束时的位置和字符之间的距离,则通过下式表示图像上位置为i的数字宽度l
l
其中,i≥2;
确定每个字符平均宽度
其中,n代表要识别的字符个数,l
当所有字符中未出现数字“1”时,且l
因为相机和电表的位置固定,所以不需要找出识别区域,直接按照参数裁剪原图片分离出单个字符,并将图像进行二值化处理。由于数码管本身就处于在一个矩形当中,在水平(竖直)方向上进行裁切的依据是投影到水平(竖直)轴的像素数值积分超过某一阈值并连续。根据已知的统计结果,有效行(列)的确定可以是在投影轴上累计超过20个白色像素,有效字符宽度可以的确定可以是在行(列)上连续有效超过35个像素,连续有效像素不超过35个的与相邻的无效区域合并视为同一段无效区域。
以上所述仅是一种数字式万用表读数识别方法的优选实施方式,一种数字式万用表读数识别方法的保护范围并不仅局限于上述实施例,凡属于该思路下的技术方案均属于本发明的保护范围。应当指出,对于本领域的技术人员来说,在不脱离本发明原理前提下的若干改进和变化,这些改进和变化也应视为本发明的保护范围。
机译: 数字式万用表可在听觉上引导设定测量模式
机译: 放大投影光学系统和数字式万用表装置
机译: 数字式万用表可在听觉上引导设定测量模式