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

一种光学代码定位方法、装置、图像传感器芯片与流程

2022-04-06 19:19:24 来源:中国专利 TAG:


1.本发明涉及计算机领域,特别涉及一种光学代码定位方法、装置、图像传感器芯片、计算机可读存储介质。


背景技术:

2.光学代码识别系统现在已经普遍存在于人们的生活当中,快递、缴费、自动驾驶都充斥着光学代码识别系统。而光学代码定位功能是这个系统中不可或缺的一部分。在快递和工业流水线上,相机系统的成本是一个重要的考量因素。所以如果可以在图像传感器芯片上获取到二位码的位置信息,可以节省光学代码识别系统的一部分软件计算开销,从而降低成本,使产品更加有竞争力。
3.传统的光学代码定位算法基于对每一帧图像进行处理。通过识别光学代码的特征信息,其在四个角的特征。来定位光学代码的当前位置。是一种软件的计算方法,这种方法没有考虑硬件中内存的稀缺性。所以很难将其迁移到硬件中。现有方法消耗的内存巨大,传统软件光学代码定位算法消耗的内存以帧为单位。中国专利cn113228051a中提出了图像传感器上光学代码的辨识算法,此方法每次在内存中读入三行数据以及一个原图的缩小图。首先对三行数据进行2次卷积操作得到图像的高频信息。之后对图像进行二值化,区分高频和低频区域。之后将二值化的图像进行膨胀算法,这样可以得到完整的光学代码区域。再对膨胀结果进行刻蚀操作,刻蚀算法可以将其膨胀过多的边界进行收束,最终将结果映射到原图的缩小图中。通过这样逐行操作,最终可以得到一张缩小的二值化图。二值化图中光学代码区域为白色,背景为黑色。。最终输出的二值化图可以显示出光学代码的位置,但是并不能提供光学代码的定位信息,不具备定位功能,所以只能称为辨识算法该专利提出的方法依旧消耗数十行内存空间。其不仅内存消耗巨大,它的计算也复杂,涉及到卷积运算等复杂操作,且每次处理需要对同一行图像从左至右依次遍历多次,计算次数较多,计算开销巨大。


技术实现要素:

4.本发明提供了一种光学代码定位方法、装置、图像传感器芯片、计算机可读存储介质,仅使用一行左右的额外的内存开销,内存消耗更少。算法只需要遍历每一行的图像一次且计算操作多为简单的条件判断,所以计算量更小。本发明最终的输出可以直接输出每个光学代码的定位信息,即每个光学代码在图像中起始行数和起始列数四个参数,给出准确定位,方便光学代码识别系统进行下一步操作。
5.本发明的一方面,提供了一种光学代码定位方法,其中,应用于图像传感器芯片,运行逻辑为按照预设规则逐行运行,针对每一行图像数据,所述方法包括:
6.获取当前行的图像数据和全局的光学代码坐标信息列表,其中所述全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息;
7.确定每个像素的边界特征;
8.将所述边界特征进行压缩处理得到简短边界信息列表;
9.基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息;
10.将所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出。
11.作为一种可选的方案,所述确定每个像素的边界特征,包括:
12.对所述当前行的像素沿第一预设方向依次遍历确定每个像素对应的像素值;
13.根据当前像素值对当前像素进行分类,直至完成所述当前行中全部像素点的分类,所述分类包括黑像素、白像素或其他像素。
14.作为一种可选的方案,所述根据当前像素值对当前像素进行分类,包括:
15.将所述当前像素值大于第一阈值的当前像素确定为黑像素;
16.将所述当前像素值小于第二阈值的当前像素确定为白像素;
17.将所述当前像素位于第一阈值和所述第二阈值之间的当前像素确定为其他像素,其中所述第一阈值大于所述第二阈值。
18.作为一种可选的方案,还包括:
19.在当前像素种类是黑像素状态下,下一个相邻的像素种类还是黑像素则跳过,下一个相邻的像素种类不是黑像素则开始在一定范围内寻找像素,当确认找到目标黑像素就跳跃至所述目标黑像素,逻辑重置;当找到是白像素则记录当前像素位置为一个黑白边界,当在一定范围内既没有黑像素也没有白像素,则记录为黑色其它的边界种类,或;
20.在当前像素种类是白像素状态下,下一个相邻的像素种类还是白像素则跳过,下个不是白像素则开始在一定范围内寻找像素,当确认找到目标白像素就跳跃至所述目标白像素,逻辑重置;当确认找到是黑像素则记录当前像素位置为一个白黑边界,当在一定范围内既没有黑色也没有白色,则记录为白色其它的边界种类,或;
21.当确认当前像素是其它像素,则直接跳过。
22.作为一种可选的方案,所述将所述边界特征进行压缩处理得到简短边界信息列表,包括:
23.确定当前边界种类;
24.当所述当前边界种类为白黑的边界,则在当前的边界列表为空状态下则更新边界列表添加白黑边界并且更新索引的列表,在当前列表不为空且前一个边界为黑白边界状态下,则更新索引列表,将当前索引值替换掉索引列表的最后一个值,在当前列表不为空状态下,则在边界列表中添加白黑边界并且更新索引列表,或;
25.当所述当前边界种类为黑白边界,在边界列表不为空并且之前的边界离当前最近的为白黑边界,则所述边界列表添加黑白边界,并且更新索引列表,或;
26.当所述当前边界种类为黑其它边界,如果当前边界列表不为空且前一个边界为白黑边界,则在所述边界列表中添加截断符号并同时更新索引列表,或;
27.当所述当前边界种类为白其它边界,在边界列表不为空且前一个边界为黑白边界状态下,则在所述边界列表中添加截断符号,并且更新索引列表。
28.作为一种可选的方案,所述基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息,包括:
29.遍历边界信息列表;
30.若当前边界为白黑边界且当前坐标信息列表为空状态下,则添加新的坐标信息;
31.若当前边界为截断符号,则跳过当前位置;
32.若当前边界是黑白边界,则更新当前光学代码的起始坐标。
33.作为一种可选的方案,所述将所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出,包括:
34.在每个全局光学代码的起始位置向下一定长度,定义为搜索长度,在融合搜索范围内融合行光学代码;
35.当确认行光学代码和全局光学代码的列坐标有交集时,则将所述行光学代码融合进全局代码中;
36.当确认行光学代码和全局光学代码的列坐标无交集时,则新生成一个全局光学代码;
37.每一次行光学代码融合后,全局光学代码再进行一次自融合,当两个全局光学代码的起始位置有交集,则融合成一个全局光学代码。
38.本发明的另一方面,提供了一种光学代码定位装置,其中,应用于图像传感器芯片,运行逻辑为按照预设规则逐行运行,针对每一行图像数据,所述装置包括:
39.获取模块,用于获取当前行的图像数据和全局的光学代码坐标信息列表,其中所述全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息;
40.确定模块,用于确定每个像素的边界特征;
41.压缩模块,用于将所述边界特征进行压缩处理得到简短边界信息列表;
42.聚类模块,用于基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息;
43.融合模块,用于将所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出。
44.本发明的再一方面,提供了一种图像传感器芯片,其中,包括:
45.至少一个处理器;以及
46.与所述至少一个处理器通信连接的存储器;其中,
47.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
48.本发明的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述的方法。
49.本发明提供的光学代码定位方法、装置、图像传感器芯片、计算机可读存储介质,该方法包括获取当前行的图像数据和全局的光学代码坐标信息列表,其中所述全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息,确定每个像素的边界特征,将所述边界特征进行压缩处理得到简短边界信息列表,基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息,所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出,使用一行图像数据的内存开销,就可以输出整张图像中存在的多个光学代码的坐标信息,主要基于条件判断的聚类方法,先将每行像素进行聚类,再对不同行
的聚类进行融合,从而得到多个光学代码的坐标信息,本方法运用在对于图像传感器芯片成像系统具有低内存开销、计算过程简单、可输出多个光学代码坐标信息等优点。
附图说明
50.图1是本发明实施例中提供的光学代码定位方法的一种流程示意图;
51.图2是本发明实施例中提供的光学代码定位方法的示意图;
52.图3是本发明实施例中提供的光学代码定位方法中声纹注册方法的一种流程示意图;
53.图4是本发明实施例中提供的光学代码定位方法的一种流程示意图;
54.图5是本发明实施例中提供的光学代码定位方法的一种流程示意图;
55.图6是本发明实施例中提供的光学代码定位方法的另一种流程示意图;
56.图7是本发明实施例中提供的光学代码定位方法中声纹注册方法的一种流程示意图;
57.图8是本发明实施例中提供的光学代码定位装置的一种结构框图。
具体实施方式
58.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
59.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
60.结合图1所示,本发明实施例中所述一种光学代码定位方法,其中,应用于图像传感器芯片,运行逻辑为按照预设规则逐行运行,针对每一行图像数据,所述方法包括:
61.s101、获取当前行的图像数据和全局的光学代码坐标信息列表,其中所述全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息。
62.s102、确定每个像素的边界特征。
63.s103、将所述边界特征进行压缩处理得到简短边界信息列表。
64.s104、基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息。
65.s105、将所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出。
66.本发明实施例中提供了一种光学代码定位方法,仅使用一行左右的额外的内存开
销,内存消耗更少。算法只需要遍历每一行的图像一次且计算操作多为简单的条件判断,所以计算量更小。本发明最终的输出可以直接输出每个光学代码的定位信息,即每个光学代码在图像中起始行数和起始列数四个参数,给出准确定位,方便光学代码识别系统进行下一步操作。
67.具体地,在s102中,所述确定每个像素的边界特征,包括:
68.对所述当前行的像素沿第一预设方向依次遍历确定每个像素对应的像素值,根据当前像素值对当前像素进行分类,直至完成所述当前行中全部像素点的分类,所述分类包括黑像素、白像素或其他像素,第一预设方向可以是从左至右,也可以是从右至左,可以根据需要灵活选择,对此不做限定,需要说明的是当方向确定之后则后续其他方向指示则以该方向为基准进行。
69.具体地,在s103中,根据所述当前像素值对当前像素进行分类,包括:
70.将所述当前像素值大于第一阈值的当前像素确定为黑像素,将所述当前像素值小于第二阈值的当前像素确定为白像素,将所述当前像素位于第一阈值和所述第二阈值之间的当前像素确定为其他像素,其中所述第一阈值大于所述第二阈值。
71.在一种可能的实现方式中,对于分类的判断方式可以有如下方式进行:
72.在当前像素种类是黑像素状态下,下一个相邻的像素种类还是黑像素则跳过,下一个相邻的像素种类不是黑像素则开始在一定范围内寻找像素,当确认找到目标黑像素就跳跃至所述目标黑像素,逻辑重置;当找到是白像素则记录当前像素位置为一个黑白边界,当在一定范围内既没有黑像素也没有白像素,则记录为黑色其它的边界种类,或;
73.在当前像素种类是白像素状态下,下一个相邻的像素种类还是白像素则跳过,下个不是白像素则开始在一定范围内寻找像素,当确认找到目标白像素就跳跃至所述目标白像素,逻辑重置;当确认找到是黑像素则记录当前像素位置为一个白黑边界,当在一定范围内既没有黑色也没有白色,则记录为白色其它的边界种类,或;
74.当确认当前像素是其它像素,则直接跳过。
75.具体地,s104中,所述将所述边界特征进行压缩处理得到简短边界信息列表,包括:
76.确定当前边界种类;
77.当所述当前边界种类为白黑的边界,则在当前的边界列表为空状态下则更新边界列表添加白黑边界并且更新索引的列表,在当前列表不为空且前一个边界为黑白边界状态下,则更新索引列表,将当前索引值替换掉索引列表的最后一个值,在当前列表不为空状态下,则在边界列表中添加白黑边界并且更新索引列表,或;
78.当所述当前边界种类为黑白边界,在边界列表不为空并且之前的边界离当前最近的为白黑边界,则所述边界列表添加黑白边界,并且更新索引列表,或;
79.当所述当前边界种类为黑其它边界,如果当前边界列表不为空且前一个边界为白黑边界,则在所述边界列表中添加截断符号并同时更新索引列表,或;
80.当所述当前边界种类为白其它边界,在边界列表不为空且前一个边界为黑白边界状态下,则在所述边界列表中添加截断符号,并且更新索引列表。
81.具体地,所述基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息,包括:
82.遍历边界信息列表;
83.若当前边界为白黑边界且当前坐标信息列表为空状态下,则添加新的坐标信息;
84.若当前边界为截断符号,则跳过当前位置;
85.若当前边界是黑白边界,则更新当前光学代码的起始坐标。
86.作为一种可选的方案,所述将所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出,包括:
87.在每个全局光学代码的起始位置向下一定长度,定义为搜索长度,在融合搜索范围内融合行光学代码;
88.当确认行光学代码和全局光学代码的列坐标有交集时,则将所述行光学代码融合进全局代码中;
89.当确认行光学代码和全局光学代码的列坐标无交集时,则新生成一个全局光学代码;
90.每一次行光学代码融合后,全局光学代码再进行一次自融合,当两个全局光学代码的起始位置有交集,则融合成一个全局光学代码。
91.为了更好地理解本发明提供的关学代码定位方法,下面结合一种实施方式进行具体介绍,本发明提供的方法可以在图像传感器芯片上面运行,运行逻辑为一行运行结束后,从上到下逐行运行。每一行从左到右运行。每一行的处理逻辑如图1所示,输入为一行图像数据和全局的光学代码坐标信息列表。全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息。
92.对于每一行的处理主要分为四步:第一步确定每个像素的边界特征,第二步将边界特征进行压缩,这样可以得到一个简短的边界信息列表,第三步在边界信息列表的基础上,对当前行的光学代码进行条件聚类,得到当前行的光学代码横坐标信息,第四步将当前行的光学代码坐标信息和全局光学代码坐标信息进行融合。最终输出一行数据以及更新后的全局光学代码坐标信息列表。
93.首先寻找边界特征。我们定义三个种类,分别为黑和白还有其它。它们的定义为大于一定阈值的白,小于一定阈值的为黑,剩下为其它种类。将边界定义为四个种类,黑白,黑其它,白黑,白其它。读入一行像素,从左至右遍历依次确定边界特征。确定的时候存在一定干扰如下所示:
94.结合图2所示,观察箭头所指位置,如果人眼辨别,可以辨别该位置是白黑边界,但是由于成像系统等问题,存在一定的模糊边界。而这个模糊的边界是不理想的边界,属于一个误差需要去除,所以本发明提供的方法可以有效避免模糊边界的影响。由于在图像传感器上执行的光学代码定位算法都比较简单,需要利用光学代码的高频边界信息,而这个模糊边界会产生很大影响,通过上百张芯片直出图和压缩图观察到了这个现象,并提出本方法解决。
95.结合图3所示,寻找边界特征的一种实施例方法可以包括:
96.首先根据当前像素值对当前像素进行分类,黑,白或者其它。
97.如果当前像素种类是黑像素,下一个还是黑像素则跳过。下一个不是黑像素则开始在右边一定范围内寻找像素,如果找到黑像素就跳跃至该黑像素,然后逻辑重置。如果找到是白像素则记录当前像素位置为一个黑白边界。如果在一定范围内既没有黑像素也没有
白像素,那么记录为黑色其它的边界种类。
98.如果当前像素是白像素,下一个还是白像素则跳过。下个不是白像素则开始在右边一定范围内寻找像素,如果找到白像素就跳跃至该白像素,然后逻辑重置。如果找到是黑像素则记录当前像素位置为一个白黑边界。如果在一定范围内既没有黑像素也没有白像素,那么记录为白色其它的边界种类。
99.如果当前像素是其它,则直接跳过。
100.综上即可以明确每个像素位置的边界种类,跳过则代表没有种类,可以看到计算操作的复杂度很低,都是阈值判断操作。
101.需要说明的是,本方法可以做到一边确定边界种类一边压缩边界种类信息的列表,这样可以更好的节约存储。
102.结合图4所示,压缩边界信息的一种实现方式可以包括:
103.首先确定当前边界种类,对于边界种类分为多种情况需要执行不同的操作方式,具体包括以下:
104.第一种可能如果当前是白黑的边界,那么进入到以下的判断:
105.如果当前的边界列表为空,则更新边界列表添加白黑边界并且更新索引的列表,此处边界列表为存储边界信息的一个列表,每一行的初始为空,在硬件中可以用特殊符号表示空即可。索引列表代表索引的列表,在每一行的起始进行初始化为空,索引是指每个边界对应的横坐标位置,具体指的是所在列数序号。索引列表和边界列表一一对应。如果当前列表不为空且前一个边界为黑白边界,则更新索引列表,将当前索引值替换掉索引列表的最后一个值。接下来判断第三种可能,如果当前列表不为空,那么在边界列表中添加白黑边界并且更新索引列表。
106.第二种情况是当前是黑白边界,如果边界列表此时不为空并且之前的边界离当前最近的为白黑边界,那么边界列表添加黑白边界,并且更新索引列表。
107.第三种情况是当前是黑其它边界,如果当前边界列表不为空且前一个边界为白黑边界,那么此时边界列表中添加截断符号,并同时更新索引列表。
108.第四种情况是当前是白其它边界,如果边界列表不为空,并且前一个边界为黑白边界,那么才是边界列表中添加截断符号,并且更新索引列表。
109.综上完成边界信息压缩工作。这样在之后的处理不需要从行起始遍历到行结束,而是仅需遍历边界信息列表,省去很多计算。计算几乎均为条件判断,比较容易实现并计算量很小。
110.结合图5所示,对边界信息列表进行条件聚类,聚类的结果就是当前行的光学代码,这里的条件聚类主要涉及两个关键因素:一个是黑白连通区域,也就是白黑边界,黑白边界,白黑边界,黑白边界连续的边界对,还有一个就是两个黑白连通区域的距离,如果两个黑白连通区域距离得过远,那么我们就认为是两个光学代码。聚类操作的一种实现方式的流程如下:
111.遍历边界信息列表。第一种可能如果当前边界为白黑边界,如果当前坐标信息列表为空,则添加新的坐标信息,这里坐标信息列表指光学代码的位置,即起始位置的列的序号,每一组开始和结束的序号和光学代码一一对应。如果白黑边界和前一个黑白边界距离比较小,则说明这是同一个光学代码,则更新已有的光学代码的起始位置的列序号。如果白
黑边界和前一个黑白边界距离比较大,则说明这是不同的光学代码,此时需要添加新的光学代码的起始位置。第二种可能是当前边界为截断符号,则跳过当前位置。第三种可能是当前是黑白边界。如果是则更新当前光学代码的起始坐标。
112.结合图6所示,至此完成行内需要的所有操作,光学代码是一个二维的图像,本发明通过不同行中光学代码融合的方法,从上到下依次融合,得到一幅图中可能存在的几个光学代码坐标信息。
113.首先融合发生在一定范围内,如图中的融合搜索区域。即融合的对象之间需要具有位置的上下联系。我们在每个全局光学代码的起始位置向下一定长度,定义为搜索长度,在融合搜索范围内可以融合行光学代码。此处全局光学代码指代图像中的光学代码坐标信息,每个光学代码具有行起始位置和列起始位置。行光学代码指的是每一行得出的光学代码,其坐标信息只含有横坐标的开始和结束的位置。如果在搜索区域中找到了光学代码,那么将其融合,并进一步更新搜索区域。
114.结合图7所示,融合操作在一副图中从上至下每行进行处理,融合过程主要分成两个阶段。第一阶段,如果行光学代码和全局光学代码的列坐标有交集,那么将行光学代码融合进全局代码中,如果没有那么新生成一个全局光学代码。第二阶段,每一次行光学代码融合后,全局光学代码再进行一次自融合,如果两个全局光学代码的起始位置有交集,那么融合成一个全局光学代码。
115.本发明实施例中提供的光学代码定位方法,针对问题中光学代码几乎都是白色背景,黑色内容。所以本发明发现总结了其成像的颜色规律,即黑白连通区域。光学代码的黑白连通区域一定是从白黑边界开始,最终以黑白边界结束,白黑边界,黑白边界循环,中间不会出现其它边界可能。本方法中定义以每个像素的边界信息特征,用此特征从而更方便的划分黑白连通区域。计算简单。本方法提出光学代码中存在模糊边界的问题,及白黑之间总是存在过度区域,这个模糊区域对结果有明显影响,可以有效规避模糊边界带来的对于边界种类判断异常的影响。通过总结一行内有效边界信息的规律,提出一种压缩边界信息的方法,将一行每个像素都有的边界信息压缩成一个简短的边界信息列表。大幅度减少存储和计算量。本方法中提出的条件聚类方法,主要影响聚类的因素主要有两个,一个是边界的种类,聚类需要从白黑开始,然后白黑边界黑白边界为一组,一组组完成聚类。第二个影响因素就是距离。如果两个黑白连通区域离得比较近,则为一个光学代码,如果两个黑白连通区域离得比较远,则为两个光学代码。本方法通过先确定行光学代码,然后定义行间搜索范围,将行光学代码和全局光学代码进行融合。行光学代码是一个一维的信息,由光学代码横坐标的开始和结束组成。在融合过程中,先将行光学代码融入至全局代码,再全局代码融合这个过程,这样的操作顺序可以有效避免重复。
116.和现有技术相比,现有技术只能在光学传感器上辨识光学代码,不能定位,而本发明可以明确给出定位信息,这是本质的区别。本发明通过使用边界信息定位光学代码,边界特征信息对比于现有发明使用得高频信息。高频信息需要占用至少5行的内存并且需要复杂的卷积计算操作,本发明只需要不到1行的额外内存且计算为阈值判断,大幅度得减少了计算量和内存。
117.和现有技术相比,现有技术通过遍历一整行高频特征来寻找光学代码,本发明在定义边界特征的同时就对边界特征信息进行压缩。之后寻找光学代码只需要遍历边界信息
列表。大幅度减少计算量和内存。
118.和现有技术相比,现有技术通过膨胀和刻蚀来得到光学代码所在的区域。本发明通过发现总结光学代码在图像中的边界规律,仅用阈值判断计算就可以划分光学代码所在区域。
119.结合图8所示,本发明实施例中还提供了一种光学代码定位装置 800,其中,应用于图像传感器芯片,运行逻辑为按照预设规则逐行运行,针对每一行图像数据,所述装置包括:
120.获取模块801,用于获取当前行的图像数据和全局的光学代码坐标信息列表,其中所述全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息;
121.确定模块802,用于确定每个像素的边界特征;
122.压缩模块803,用于将所述边界特征进行压缩处理得到简短边界信息列表;
123.聚类模块804,用于基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息;
124.融合模块805,用于将所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出。
125.本发明实施例中还提供了一种图像传感器芯片,其中,包括:
126.至少一个处理器;以及
127.与所述至少一个处理器通信连接的存储器;其中,
128.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
129.本发明实施例中还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时本技术所有发明实施例提供的光学代码定位方法,其中,应用于图像传感器芯片,运行逻辑为按照预设规则逐行运行,针对每一行图像数据,所述方法包括:
130.获取当前行的图像数据和全局的光学代码坐标信息列表,其中所述全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息;
131.确定每个像素的边界特征;
132.将所述边界特征进行压缩处理得到简短边界信息列表;
133.基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息;
134.将所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出。
135.本发明提供的光学代码定位方法、装置、图像传感器芯片、计算机可读存储介质,该方法包括获取当前行的图像数据和全局的光学代码坐标信息列表,其中所述全局的光学代码坐标指光学代码在图像中的起始行数和起始列数四个信息,确定每个像素的边界特征,将所述边界特征进行压缩处理得到简短边界信息列表,基于所述简短边界信息列表对所述当前行的光学代码进行聚类处理得到所述当前行的光学代码横坐标信息,所述光学代码横坐标信息与所述全局的光学代码坐标信息列表进行融合得到更新后的全局光学代码坐标信息列表并输出,使用一行图像数据的内存开销,就可以输出整张图像中存在的多个
光学代码的坐标信息,主要基于条件判断的聚类方法,先将每行像素进行聚类,再对不同行的聚类进行融合,从而得到多个光学代码的坐标信息,本方法运用在对于图像传感器芯片成像系统具有低内存开销、计算过程简单、可输出多个光学代码坐标信息等优点。
136.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表) 包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器 (eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
137.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
138.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
139.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
140.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
141.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述的语音识别方法。
142.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
143.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明
的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

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

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

相关文献