一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数码管小数点位置识别方法及装置与流程

2021-11-30 21:09:00 来源:中国专利 TAG:


1.本发明涉及图像识别领域,更具体地说,涉及一种数码管小数点位置识别方法及装置。


背景技术:

2.数码管,也称led数码管,是一种可以显示数字和其他信息的电子设备,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数,由于它的价格便宜,使用简单,在电器领域应用极为广泛。
3.随着行业的发展,更多的行业开始朝智能化方向发展,对于数码管的示数也从之前的人为查看和记录转变为智能识别,而现有技术对数码管示数的小数点都不能很好的识别,现有技术中对数码管的数字识别方法主要有穿线法和ocr,然而,穿线法在对数码管数字进行识别时,对于单独数字的识别效果较好,但是穿线法主要是对数字的判断,不能发现小数点的位置;ocr识别是一种基于深度学习的文字识别技术,但是ocr识别用在小数点识别的准确率同样很低,上述两种方法均不适宜用在对小数点位置的识别。
4.中国专利申请,申请号cn201611031884.2,公开日2017年3月22日,公开了一种数字仪表读数图像识别方法,该方法根据事先标定的数字仪表图像,使用模板匹配方法在全景图像中提取感兴趣区域,再根据标定字符的相对位置关系提取感兴趣区域中单个字符区域和小数点待检测区域;对单个字符区域,利用事先训练好的卷积神经网络字符模型进行单个字符识别;对小数点待检测区域,利用事先训练好的基于分块lbp编码特征及adaboost分类器的cascade目标检测子进行小数点检测,并对检测结果进行后处理;最后根据字符、小数点及正负号识别结果获取读数。该发明可以对0~9数字、正负号及小数点进行识别,其不足之处在于,该发明需要事先根据事先在全景图像中提取感兴趣区域,再根据标定字符的相对位置关系提取感兴趣区域中的单个字符区域和小数点待检测区域,对于不同的数字仪表来说,图像中的数字显示区域可能会有很大变化,需要重新提取检测区域,适应性不强;对于小数点检测需要事先训练编码特征,所需运算量较大,对于硬件的计算能力要求较高。


技术实现要素:

5.1.要解决的技术问题
6.针对现有技术中存在的小数点识别所需运算量大、适应性不强的问题,本发明提供了一种数码管小数点位置识别方法及装置,它可以实现减少运算量,提高适应性。
7.2.技术方案
8.本发明的目的通过以下技术方案实现。
9.一种数码管小数点位置识别方法,包括以下步骤:
10.获取待识别图像,对待识别图像进行预处理,得到预处理后的图像;
11.对预处理后的图像进行卷积和遍历,得到卷积结果;
12.对卷积结果进行密度聚类,得到若干个分组;
13.对分组进行区域划分,得到位置区间;
14.根据分组和位置区间,确定小数点位置。
15.进一步的,对待识别图像进行预处理,包括以下步骤:
16.对待识别图像进行灰度化处理,得到灰度图像;
17.对灰度图像进行二值化处理,判断图像中像素点值是否大于第一预设阈值,若大于,将该点的像素点值置为1,否则置为0,最后得到二值图像。
18.更进一步的,对预处理后的图像进行卷积和遍历计算,包括以下步骤:
19.设置卷积核,对图像进行卷积计算,得到卷积后的图像;
20.遍历卷积后的图像中的所有像素点,提取像素点值为0的坐标值,得到二维数组。
21.更进一步的,对分组进行区域划分,得到位置区间,包括以下步骤:
22.对所有分组中的元素进行去重和排序处理,得到处理后的数组;
23.对处理后的数组进行遍历,计算相邻元素值之差,判断差值是否大于预设阈值,若大于,则记录前一个元素值,最终得到位置区间。
24.更进一步的,根据分组和位置区间,确定小数点位置,包括以下步骤:
25.确定小数点所在的分组,遍历所有分组中的元素个数,选取元素个数最少的分组;
26.根据小数点所在的分组中的元素所在位置区间,确定小数点位置。
27.一种数码管小数点位置识别装置,包括:
28.图像获取单元,用于获取待识别图像,对待识别图像进行预处理,得到预处理后的图像;
29.图像去噪单元,用于对预处理后的图像进行卷积和遍历,得到卷积结果;
30.密度聚类单元,用于对卷积结果进行密度聚类,得到若干个分组;
31.区域划分单元,用于对分组进行区域划分,得到位置区间;
32.位置识别单元,用于根据分组和位置区间,确定小数点位置。
33.进一步的,图像获取单元包括:
34.灰度化处理模块,用于对待识别图像进行灰度化处理,得到灰度图像;
35.二值化处理模块,用于对灰度图像进行二值化处理,判断图像中像素点值是否大于第一预设阈值,若大于,将该点的像素点值置为1,否则置为0,最后得到二值图像。
36.更进一步的,图像去噪单元包括:
37.卷积计算模块,用于设置卷积核,对图像进行卷积计算,得到卷积后的图像;
38.像素点提取模块,用于遍历卷积后的图像中的所有像素点,提取像素点值为0的坐标值,得到二维数组。
39.更进一步的,区域划分单元包括:
40.去重排序模块,用于对所有分组中的元素进行去重和排序处理,得到处理后的数组;
41.判断模块,用于对处理后的数组进行遍历,计算相邻元素值之差,判断差值是否大于预设阈值,若大于,则记录前一个元素值,最终得到位置区间。
42.更进一步的,位置识别单元包括:
43.分组确定模块,用于确定小数点所在的分组,遍历所有分组中的元素个数,选取元
素个数最少的分组;
44.位置确定模块,用于根据小数点所在的分组中的元素所在位置区间,确定小数点位置。
45.3.有益效果
46.相比于现有技术,本发明的优点在于:
47.本发明通过对待识别图像进行预处理,将三通道图像转化为单通道,减少了后续小数点识别的数据计算量;对二值图像进行卷积处理,消除了可能被错误识别为小数点的噪声点,同时去除了数字之间的粘连点,提高了小数点位置识别的准确率;对卷积结果进行密度聚类,得到若干个分组,每个分组对应一个数字或小数点,对分组进行区域划分,得到位置区间,根据元素个数最小的分组与该分组所在的区间,即可得出该小数点相对于其他数字的位置,本发明的小数点位置识别方法不需要提前进行区域划分或训练识别模型,对于不同种类数码管的小数点识别适应性强,所需的计算量小,对硬件的计算能力要求不高,从而降低了所需成本。
附图说明
48.图1为本发明实施例中数码管小数点位置识别方法的应用场景示意图;
49.图2为本发明实施例中数码管小数点位置识别方法的流程示意图;
50.图3为本发明实施例中图像预处理的流程示意图;
51.图4为本发明实施例中灰度图像的示意图;
52.图5为本发明实施例中二值图像的示意图;
53.图6为本发明实施例中图像去噪的流程示意图;
54.图7为本发明实施例中去噪后二值图像的示意图;
55.图8为本发明实施例中区域划分的流程示意图;
56.图9为本发明实施例中位置识别的流程示意图;
57.图10为本发明实施例中数码管小数点位置识别装置的结构框图;
58.图11为本发明实施例中图像获取单元的结构框图;
59.图12为本发明实施例中图像去噪单元的结构框图;
60.图13为本发明实施例中区域划分单元的结构框图;
61.图14为本发明实施例中位置识别单元的结构框图。
具体实施方式
62.下面结合说明书附图和具体的实施例,对本发明作详细描述。
63.如图1所示,本实施例提供了一种数码管小数点位置识别方法,应用于一种小数点位置识别系统,该系统包括终端101和服务器102,终端101和服务器102通过网络连接,终端101可以是具有拍摄和连接网络功能的设备,如电脑、手机等设备,服务器102可以是独立的服务器,也可以是多个服务器组成的服务器集群。终端101可通过网络将数据发送至服务器102上,所述数据可以是图片或者视频流,如果服务器获取的数据为视频流,首先对获取到的视频流进行拆分,本实施例可设定为每秒抓取一次,即每秒获取一张图片,拆分得到若干帧图片;如果服务器获取的数据为图片,则无需进行上述拆分处理。
64.本实施例主要以该小数点位置识别方法应用于上述图1中的终端101和服务器102来举例说明,如图2所示,本方法具体包括以下步骤:
65.步骤s100、获取待识别图像,对待识别图像进行预处理,得到预处理后的图像。
66.具体的,在本实施例中,待识别图片可以是rgb或bgr图像,如图3所示,对待识别图像进行预处理具体包括以下步骤:
67.步骤s101、对待识别图像进行灰度化处理,得到灰度图像。
68.具体的,本实施例以rgb图像为例,rgb色彩模式使用rgb模型为图像中每一个像素的rgb分量分配一个0~255范围内的强度值,如果r=g=b时,则彩色表示一种灰度颜色,其中r=g=b的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值,灰度范围为0-255。图像的灰度化处理有分量法、最大值法、平均值法和加权平均法,本实施例使用加权平均法对图像进行处理,加权平均法根据重要性及其它指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对rgb三分量进行加权平均得到较合理的灰度图像。
69.gray(i,j)=0.299*r(i,j) 0.578*g(i,j) 0.114*b(i,j)
70.灰度化后的图像将由三通道变为单通道,从而减小了后续小数点位置识别的运算量。本实施例对待识别图像进行灰度化处理后,得到如图4所示的灰度图像,灰度图像的大小为(h,w),其中h为图像的像素高度,w为图像的像素宽度,本实施例的图像大小(h,w)=(33,88)。
71.步骤s102、对灰度图像进行二值化处理,判断图像中像素点值是否大于第一预设阈值,若大于,将该点的像素点值置为1,否则置为0,最后得到二值图像。
72.具体的,灰度图像二值化利用图像中目标与背景的差异,通过所述第一预设阈值,将图像的数据分为大于和小于第一预设阈值的像素群,将大于第一预设阈值的像素群的像素值设定为白色,小于第一预设阈值的像素群的像素值设定为黑色,以确定某像素是目标还是背景,从而获得二值化的图像。本实施例中,设定第一预设阈值为130,遍历灰度图片中所有像素点,判断像素点值是否大于130,若大于,将该点的像素点值置为1,否则置为0,得到如图5所示的33*88的二值图像,其中灰色区域内元素值为0,其他区域值为1,与像素点值对应,然后可以看出,图像中除了数字和小数点之外,还有一些孤立的面积较小的像素点,这些像素点是图像识别中的噪声点,可能被错误识别为小数点,影响小数点位置识别的准确率,因此需要对这些噪声点进行过滤。
73.步骤s200、对预处理后的图像进行卷积计算,得到卷积结果。
74.如图6所示,对预处理后的图像进行卷积计算,具体包括以下步骤:
75.步骤s201、设置卷积核,对图像进行卷积计算,得到卷积后的图像。
76.具体的,卷积核就是图像处理时,给定输入图像,输入图像中一个小区域中像素加权平均后成为输出图像中的每个对应像素,其中权值由一个函数定义,这个函数称为卷积核。当对一幅二维数字图像加以卷积时,源图像是作为输入源数据,处理以后要的图像是卷积输出结果,卷积核作为filter在xy两个方向上对源图像的每个像素点进行卷积操作。将图像看作一个二维空间的离散函数f(x,y),假设有对于二维卷积操作函数c(u,v),则会产生输出图像g(x,y)=f(x,y)*c(u,v),对图像进行卷积操作,可以消除图像的尖锐噪声,实现图像平滑、模糊等功能。
77.所述卷积核可以根据具体的图像选定大小,本实施例中设置2*2的卷积核[[1,1],[1,1]]对新生成的图像进行去噪,将卷积核与二值图像中的像素点相乘后,得到如图7所示的图像,可以看出,在进行卷积处理后,图像中原有存在的既不是数字,又不是小数点的噪声点成功被过滤掉,而原有的数字和小数点仅仅是像素区域被缩小,在过滤掉噪声的同时,图像中各个数字之间的粘连点也被过滤掉,避免了在后续对数字进行分割时错误划分。同时,由于在后续步骤中提取像素区域中的像素点形成数组,只是对该数组进行计算处理,因此减小数字和小数点的像素区域可以减小后续小数点识别计算的运算量,提高运算速度。
[0078]
步骤s202、遍历卷积后的图像中的所有像素点,提取像素点值为0的坐标值,得到二维数组。
[0079]
所述像素点坐标值包括横坐标值x和纵坐标值y,得到二维数组为卷积处理的最终结果,如表1所示:
[0080]
表1
[0081]
xy824825826921
……
859851085118512
[0082]
步骤s300、对卷积结果进行密度聚类,得到若干个分组。
[0083]
具体的,对图片进行卷积处理后,得到了卷积处理后的数据,即一个二维数组,对该二维数组进行密度聚类,聚类的目的就是把不同的像素点按照它们的相似与相异度分割成不同的簇,得到的簇为数据划分后的子集,所得到的若干个簇即为上述的若干个分组,聚类确保每个簇中的数据都是尽可能相似,而不同的簇里的数据尽可能的相异,因此,通过聚类的方法可以将图像中的字符进行分割,而相比其他的聚类方法,基于密度的聚类方法(dbscan)可以在有噪音的数据中发现各种形状和各种大小的簇(label)。dbscan算法主由两个参数控制,分别为邻域的最大半径(eps)和邻域中的最少点数(minpts)。
[0084]
本实施例中,对步骤s200得到的数组进行密度聚类时,设置距离参数eps为1.5,最小簇中元素个数minpts为3,聚类结果得到如表2所述的17个簇,簇中包括若干个元素,一个元素为一个像素点,元素数量为图像的像素点数量,每个元素包括像素点的横坐标值x、纵坐标值y以及所在的簇号label,一个簇对应一个有灰度的区域,该区域可以是数字或小数点。
[0085]
表2
[0086]
xylabel82408250
82609210
……ꢀ
85916851016851116851216
[0087]
步骤s400、对分组进行区域划分,得到位置区间。
[0088]
如图8所示,对分组进行区域划分,得到位置区间,具体包括以下步骤:
[0089]
步骤s401、对所有分组中的元素进行去重和排序处理,得到处理后的数组。
[0090]
具体的,本实施例中,首先对所有分组的像素点横坐标值x进行去重,并对去重后的横坐标值x按照从小到大进行排序,得到数组:
[0091]
[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,70,71,72,73,74,75,76,77,7879,80,81,82,83,84,85]。
[0092]
步骤s402、对处理后的数组进行遍历,计算相邻元素值之差,判断差值是否大于预设阈值,若大于,则记录前一个元素值,最终得到位置区间。
[0093]
具体的,预设阈值用于对处理后的数组进行区域划分,如果数组的相邻元素值之差大于预设阈值,那么说明两个元素之间存在空白区域,此时记录两个元素中的前一个元素值,该元素值为每个数字的最后一个像素点横坐标。
[0094]
预设阈值可以根据具体的数码管图像进行设置,如果数码管图像显示的数字较大,数字之间的间距较宽,则可以调高预设阈值的数值,防止数字内部在卷积处理中出现空白区域,导致被错误识别成两个数字;如果数码管图像显示的数字较小,数字之间较为紧凑,则可以调低预设阈值的数字,保证数字之间的空白区域能够别识别到。本实施例中,将预设阈值设置为1,最终得到数组[26,45,65],即为位置区间。
[0095]
需要说明的是,实施例中所述的预设阈值是根据一系列经验数据确定的一个值,既可以是人为设定的,也可以是设备自动生成的,此处不作限定。
[0096]
步骤s500、根据分组和位置区间,确定小数点所在的位置。
[0097]
如图9所示,根据分组和位置区间,确定小数点所在的位置,具体包括以下步骤:
[0098]
步骤s501、确定小数点所在的分组,遍历所有分组中的元素个数,选取元素个数最少的分组。
[0099]
具体的,对于密度聚类的结果,每个分组中的元素个数代表了每个区域的大小,而对于排除了噪声点后的数码管图像来说,小数点是远远小于数字的显示大小的,因此只需判断密度聚类得到的元素个数最小分组,该分组的位置即为小数点的位置。
[0100]
步骤s502、根据小数点所在的分组中的元素所在位置区间,确定小数点位置。
[0101]
具体的,在确定小数点代表的分组后,需要进一步确定该分组在图像中的位置,所述位置为该分组相对于其他分组的位置。本实施例中,步骤s400中得到的数组为[26,45,65],区间分别为0-26,27-45,46-65,元素值个数最小的分组中包括若干个像素点,判断这些像素点的横坐标所在的区间,该区间即为小数点所在的位置区间。本实施例小数点分组
memory,ram)等。
[0123]
以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献