CN110349116A - 一种用于面阵相机图片拼接的算法 - Google Patents
一种用于面阵相机图片拼接的算法 Download PDFInfo
- Publication number
- CN110349116A CN110349116A CN201910346413.8A CN201910346413A CN110349116A CN 110349116 A CN110349116 A CN 110349116A CN 201910346413 A CN201910346413 A CN 201910346413A CN 110349116 A CN110349116 A CN 110349116A
- Authority
- CN
- China
- Prior art keywords
- subgraph
- overlapping area
- value
- presently described
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012216 screening Methods 0.000 claims description 31
- SBNFWQZLDJGRLK-UHFFFAOYSA-N phenothrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=CC=CC(OC=2C=CC=CC=2)=C1 SBNFWQZLDJGRLK-UHFFFAOYSA-N 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 16
- 229910017435 S2 In Inorganic materials 0.000 claims 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 206010016256 fatigue Diseases 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种用于面阵相机图片拼接的算法,计算待处理图像中每个子图的重叠面积并根据重叠面积设置标记,而后根据重叠面积求得每一列子图的默认值。再根据每个子图的重叠面积与对应列的默认值的比较结果变更子图的标记,根据标记调整每个子图的重叠面积,最后拼接所有子图形成拼接后的整图。有效地将待处理图像中离散的子图之间进行拼接,有效解决了面阵相机图像拼接的问题,使离散的相邻图之间能完美衔接,并且最终得到的拼接整图图像连续,无缝衔接且不重复,计算效率高。
Description
技术领域
本发明涉及图片拼接领域,尤其涉及一种用于面阵相机图片拼接的算法。
背景技术
目前,市面上扫描仪多是使用线相机对切片进行扫描,线阵相机是一类特殊的视觉机器。目前不乏有线相机拼接的算法,可将线相机扫描出来的多列长条形图像拼成一整张图,在拼图的过程中只需要考虑列和列之间的情况,只要左右拼起来,即可将多列图拼成一张完整的大图。
由于线阵相机与面阵相机的拍照方式不同,面阵相机的感光晶片以矩阵排列,经过多次拍照,得到横竖两个方向分布的零散图像,此时需要特定算法来计算二维坐标,而目前线阵相机算法只能计算一维坐标,不适用于对面相机拍出来的图进行拼接。
发明内容
针对现有技术中存在的上述问题,现提供一种用于面阵相机图片拼接的算法。
具体技术方案如下:
一种用于面阵相机图片拼接的算法,应用于面阵相机,包括以下步骤:
步骤S1、于所述面阵相机中获取待处理图像;
步骤S2、计算所述待处理图像中每个子图的重叠面积;
步骤S3、根据所述重叠面积设置每个所述子图的标记;
步骤S4、计算所述待处理图像中每一列所述子图的重叠面积的默认值;
步骤S5、将每个所述子图的所述重叠面积与对应列的所述默认值进行比较,并根据比较结果变更所述子图的所述标记;
步骤S6、根据所述标记分别调整每个所述子图的所述重叠面积;
步骤S7、根据调整后的所述重叠面积拼接所有所述子图形成拼接后的整图。
优选的,所述待处理图像由复数张离散的所述子图构成;
所述重叠面积,包括当前所述子图与当前所述子图的左侧相邻子图的左侧重叠面积,以及当前所述子图与当前所述子图的上方相邻子图的上方重叠面积;
所述默认值,包括上方默认值与左侧默认值;
所述标记,包括:
第一标记用以标记当前所述子图的所述左侧重叠面积;
第二标记用以标记当前所述子图的所述上方重叠面积。
优选的,所述步骤S2中,
针对当前所述子图,计算所述重叠面积的步骤包括一计算得到所述左侧重叠面积的过程:
步骤S21a、判断当前所述子图是否存在对应的所述左侧相邻子图:
若是,则将所述左侧重叠面积设置为0;
若否,则转向步骤S22a;
步骤S22a、将当前所述子图的边缘与所述左侧相邻子图的边缘进行对比,计算得出当前所述子图与所述左侧相邻子图的左侧重叠长度及左侧重叠宽度;
步骤S23a、根据所述左侧重叠长度及所述左侧重叠宽度计算得到当前所述子图的所述左侧重叠面积;
所述步骤S2中,针对当前所述子图,计算所述重叠面积的步骤还包括一计算得到所述上方重叠面积的过程:
步骤S21b、判断当前所述子图是否存在对应的所述上方相邻子图:
若是,则将所述上方重叠面积设置为0;
若否,则转向步骤S22b;
步骤S22b、将当前所述子图的边缘与所述上方相邻子图的边缘进行对比,计算得出当前所述子图与所述上方相邻子图的上方重叠长度及上方重叠宽度;
步骤S23b;根据所述上方重叠长度及所述上方重叠宽度计算得到当前所述子图的所述上方重叠面积;
针对所述待处理图像中的所有所述子图分别计算得到所述左侧重叠面积和所述上方重叠面积,从而遍历计算得到所述待处理图像中所有所述子图的所述重叠面积。
优选的,所述步骤S3中,针对当前所述子图,还包括以下步骤:
步骤S31、判断所述子图的所述左侧重叠面积是否为空值,若是,则设置所述第一标记为数值零;
若否,则设置所述第一标记为一预设满分值;
步骤S32、判断所述子图的所述上方重叠面积是否为空值,若是,则设置所述第二标记为数值零;
若否,则设置所述第二标记为一预设满分值;
所述步骤S31与所述步骤S32同时进行,针对所述待处理图像中的所有所述子图分别设置所述第一标记和所述第二标记,从而遍历计算得到所述待处理图像中所有所述子图的所述标记。
优选的,所述步骤S4中,还包括以下步骤:
步骤S41、将所有所述子图按列进行分组,获取当前组中所有标记为所述预设满分值的所述重叠面积;
针对当前组,计算所述默认值的步骤包括一计算得到所述左侧默认值的过程:
步骤S42a、设定一预设的第一区间,以当前组中每个子图的所述左侧重叠面积作为所述第一区间的中值,筛选得到复数个左筛选区间,每个所述左筛选区间中包括多个所述子图;
步骤S43a、统计每个所述左筛选区间内包括的子图的数量,并将子图数量最多的所述左筛选区间确定为左默认值区间;
步骤S44a、计算得到包括在所述左默认值区间内的所有所述子图的所述左侧重叠面积的平均值,并作为所述子图所在列的所述左侧默认值;
针对当前组,计算所述默认值的步骤还包括一计算得到所述上方默认值的过程:
步骤S42b、设定一预设的第二区间,以当前组中每个子图的所述上方重叠面积作为所述第二区间的中值,筛选得到复数个上筛选区间,每个所述上筛选区间中包括多个所述子图;
步骤S43b、统计每个所述上筛选区间内包括的子图的数量,并将子图数量最多的所述上筛选区间确定为上默认值区间;
步骤S44b、计算得到包括在所述上默认值区间内的所有所述子图的所述上方重叠面积的平均值,并作为所述子图所在列的所述上方默认值;
针对所述待处理图像中的所有所述组分别计算得到所述左侧默认值和所述上方默认值,从而遍历计算得到所述待处理图像中所有所述子图的所述默认值。
优选的,所述步骤S5中,针对当前所述子图,还包括以下步骤:
步骤S51a、判断当前所述子图的所述第一标记为零;
若是,则将当前所述子图的所述左侧默认值作为当前所述子图的所述左侧重叠面积,并变更所述第一标记为所述预设满分值,随后退出;
若否,则进行步骤S52a;
步骤S52a、判断当前所述子图的所述左侧重叠面积与当前所述子图的所述左侧默认值的差值是否大于一第一预设阈值;
若是,则变更所述第一标记为一预设低分值;
若否,则退出;
步骤S51b、判断当前所述子图的所述第二标记是否为零;
若是,则将当前所述子图的所述上方默认值作为当前所述子图的所述上方重叠面积,并变更所述第二标记为所述预设满分值,随后退出;
若否,则进行步骤S52b;
步骤S52b、判断当前所述子图的所述上方重叠面积与当前所述子图的所述上方默认值的差值是否大于一第二预设阈值;
若是,则变更所述第二标记为所述预设低分值;
若否,则退出;
所述步骤S51a-S52a与所述步骤S51b-S52b同时进行,针对所述待处理图像中的所有所述子图分别变更所述第一标记和所述第二标记,从而遍历更新所述待处理图像中所有所述子图的所述标记,随后进入步骤S6。
优选的,每个所述子图包括一第一拼接路径以及一第二拼接路径;
所述第一拼接路径为所述当前子图、所述当前子图的所述左侧相邻子图以及所述当前子图的所述左侧相邻子图的所述上方相邻子图之间进行拼接的拼接路径;
所述第二拼接路径为所述当前子图、所述当前子图的所述上方相邻子图以及所述当前子图的所述上方相邻子图的所述左侧相邻子图之间进行拼接的拼接路径;
所述步骤S6具体包括一重叠路径的调整过程:
步骤S61、通过调整每个子图的所述重叠面积,以使每个所述子图的所述第一拼接路径和所述第二拼接路径不产生冲突;
步骤S62、通过调整每个所述子图的所述重叠面积,以使每列所述子图的总长度一致;
所述步骤S61和所述步骤S62同时进行。
优选的,所述步骤S61中,当满足预设的冲突条件时,判断所述子图的所述第一拼接路径和所述第二拼接路径不产生冲突;
预设的所述冲突条件为:所述第一拼接路径的重叠面积值与所述第二拼接路径的重叠面积值的差值的绝对值小于一预设的冲突值。
优选的,将每个所述子图的所述标记划分为:数值零、预设的满分值、预设的低分值;
所述步骤S61,针对当前所述子图,包括以下步骤:
步骤S611、判断当前所述子图的所述第一标记是否为所述预设低分值;
若是,则将当前所述子图的所述左侧默认值作为当前所述子图的所述左侧重叠面积,并变更所述第一标记为所述预设满分值;
若否,则退出;
步骤S612、判断当前所述子图的所述第二标记是否为所述预设低分值;
若是,则将当前所述子图的所述上方默认值作为当前所述子图的所述上方重叠面积,并变更所述第二标记为所述预设满分值;
若否,则退出;
所述步骤S611与步骤S612同时进行,针对所述待处理图像中的所有所述子图分别调整所述左侧重叠面积与所述上方重叠面积,从而遍历更新所述待处理图像中所有所述子图的所述重叠面积。
优选的,所述步骤S62,针对当前列所述子图,包括以下步骤:
步骤S621、判断当前列所述子图的总长度与当前列所述子图的后一列所述子图进行对比的总长度的差值是否大于一预设长度值:
若是,则进行步骤S622;
若否,则退出;
步骤S622、将所述差值平均分配到当前列所述子图的后一列所述子图的每张所述子图的所述上方重叠面积中;
针对所述待处理图像中的所有列所述子图分别调整所述上方重叠面积,从而遍历更新所述待处理图像中所有列所述子图的所述重叠面积,以使每列所述子图的总长度一致。
上述技术方案具有如下优点或有益效果:
上述技术方案,通过一种用于面阵相机图片拼接的算法,根据待处理图像中离散的子图之间的重叠面积进行拼接,有效解决了面阵相机图像拼接的问题,使离散的相邻图之间能完美衔接,并且最终得到的拼接整图图像连续,无缝衔接且不重复,计算效率高。
附图说明
图1-8为本发明一种用于面阵相机图片拼接的算法实施例的流程步骤示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种用于面阵相机图片拼接的算法,如图1所示,应用于面阵相机,包括以下步骤:
一种用于面阵相机图片拼接的算法,应用于面阵相机,包括以下步骤:
步骤S1、于面阵相机中获取待处理图像;
步骤S2、计算待处理图像中每个子图的重叠面积;
步骤S3、根据重叠面积设置每个子图的标记;
步骤S4、计算待处理图像中每一列子图的重叠面积的默认值;
步骤S5、将每个子图的重叠面积与对应列的默认值进行比较,并根据比较结果变更子图的标记;
步骤S6、根据标记分别调整每个子图的重叠面积;
步骤S7、根据调整后的重叠面积拼接所有子图形成拼接后的整图。
上述技术方案通过一种用于面阵相机图片拼接的算法,计算待处理图像中每个子图的重叠面积并根据重叠面积设置标记,而后根据重叠面积求得每一列子图的默认值。再根据每个子图的重叠面积与对应列的默认值的比较结果变更子图的标记,根据标记调整每个子图的重叠面积,最后拼接所有子图形成拼接后的整图。
有效地将待处理图像中离散的子图之间进行拼接,有效解决了面阵相机图像拼接的问题,使离散的相邻图之间能完美衔接,并且最终得到的拼接整图图像连续,无缝衔接且不重复,计算效率高。
作为优选的实施方式,待处理图像由复数张离散的子图构成;
重叠面积,包括当前子图与当前子图的左侧相邻子图的左侧重叠面积,以及当前子图与当前子图的上方相邻子图的上方重叠面积;
默认值,包括上方默认值与左侧默认值;
标记,包括:
第一标记用以标记当前子图的左侧重叠面积;
第二标记用以标记当前子图的上方重叠面积。
作为优选的实施方式,如图2所示,步骤S2中,针对当前子图,计算重叠面积的步骤包括一计算得到左侧重叠面积的过程:
步骤S21a、判断当前子图是否存在对应的左侧相邻子图:
若是,则将左侧重叠面积设置为0;
若否,则转向步骤S22a;
步骤S22a、将当前子图的边缘与左侧相邻子图的边缘进行对比,计算得出当前子图与左侧相邻子图的左侧重叠长度及左侧重叠宽度;
步骤S23a、根据左侧重叠长度及左侧重叠宽度计算得到当前子图的左侧重叠面积;
步骤S2中,针对当前子图,计算重叠面积的步骤还包括一计算得到上方重叠面积的过程:
步骤S21b、判断当前子图是否存在对应的上方相邻子图:
若是,则将上方重叠面积设置为0;
若否,则转向步骤S22b;
步骤S22b、将当前子图的边缘与上方相邻子图的边缘进行对比,计算得出当前子图与上方相邻子图的上方重叠长度及上方重叠宽度;
步骤S23b、根据上方重叠长度及上方重叠宽度计算得到当前子图的上方重叠面积;
针对待处理图像中的所有子图分别计算得到左侧重叠面积和上方重叠面积,从而遍历计算得到待处理图像中所有子图的重叠面积。
上述技术方案中,从待处理图像中选取一张子图,针对当前子图,首先判断当前子图是否存在左侧相邻子图,若不存在,即则该子图为整个待处理图像中的左边缘子图,对当前子图无需调整水平方向的位置,将当前子图的左侧重叠面积设置为零。
若存在,将当前子图与当前子图的左侧相邻子图进行对比,计算出重合部分的长度和宽度,然后计算得出当前子图的左侧重叠面积。
在进行上述步骤的同时,根据上述步骤,同理可计算得出该子图的上方重叠面积。
在计算完当前子图的左侧重叠面积以及上方重叠面积之后,选取下一张子图进行上述步骤,直至遍历计算得到待处理图像中所有子图的重叠面积,再执行步骤S3。
于上述方案的基础上,进一步的,下文所述的所有的子图的遍历顺序可根据实际情况进行设计,在此不作具体限定。
作为优选的实施方式,如图3所示,步骤S3中,针对当前子图,还包括以下步骤:
步骤S31、判断子图的左侧重叠面积是否为空值;
若是,则设置第一标记为数值零;
若否,则设置第一标记为一预设满分值;
步骤S32、判断子图的上方重叠面积是否为空值;
若是,则设置第二标记为数值零;
若否,则设置第二标记为一预设满分值;
步骤S31与步骤S32同时进行,针对待处理图像中的所有子图分别设置第一标记和第二标记,从而遍历计算得到待处理图像中所有子图的标记。
上述技术方案中,从待处理图像中选取一张子图,针对当前子图设定标记的值,即对当前子图进行第一轮评分,
对当前子图的左侧重叠面积进行判定,若左侧重叠面积的数值为空值,即该子图在步骤S2中的计算出错,未能计算得到左侧重叠面积,则将当前子图的用以标记左侧重叠面积的第一标记设置为0;
若左侧重叠面积的数值不为空值,即该子图在步骤S2中的计算成功,将当前子图的第一标记设置为预设的满分值,满分值可设定为100;
在进行上述步骤的同时根据同理可设置当前子图的用以标记上方重叠面积的第二标记。
在设置完当前子图的第一标记以及第二标记之后,选取下一张子图进行上述步骤,直至遍历设置完待处理图像中所有子图的标记,再执行步骤S4。
作为优选的实施方式,如图4所示,步骤S4中,还包括以下步骤:
步骤S41、将所有子图按列进行分组,获取当前组中所有标记为预设满分值的重叠面积;
针对当前组,计算默认值的步骤包括一计算得到左侧默认值的过程:
步骤S42a、设定一预设的第一区间,以当前组中每个子图的左侧重叠面积作为第一区间的中值,筛选得到复数个左筛选区间,每个左筛选区间中包括多个子图;
步骤S43a、统计每个左筛选区间内包括的子图的数量,并将子图数量最多的左筛选区间确定为左默认值区间;
步骤S44a、计算得到包括在左默认值区间内的所有子图的左侧重叠面积的平均值,并作为子图所在列的左侧默认值;
针对当前组,计算默认值的步骤还包括一计算得到上方默认值的过程:
步骤S42b、设定一预设的第二区间,以当前组中每个子图的上方重叠面积作为第二区间的中值,筛选得到复数个上筛选区间,每个上筛选区间中包括多个子图;
步骤S43b、统计每个上筛选区间内包括的子图的数量,并将子图数量最多的上筛选区间确定为上默认值区间;
步骤S44b、计算得到包括在上默认值区间内的所有子图的上方重叠面积的平均值,并作为子图所在列的上方默认值;
针对待处理图像中的所有组分别计算得到左侧默认值和上方默认值,从而遍历计算得到待处理图像中所有子图的默认值。
上述技术方案中,首先将所有子图按列进行分组,并设定第一区间与第二区间,第一区间与第二区间可以相同,第一区间用以求得每列子图的左侧默认值,第二区间用以求得每列子图的上方默认值。
选取其中一分组,针对当前组,将当前组中所有第一标记为预设满分值的左侧重叠面积作为第一区间的中值得到复数个左筛选区间,随后统计每个左筛选区间内包含的子图的数量,计算子图数量最多的左筛选区间中的所有子图的左侧重叠面积的平均值,将平均值作为子图所在列的左侧默认值;
在进行上述步骤的同时,根据同理可根据计算得到当前组子图的上方默认值,在计算得到当前组子图的左侧默认值以及上方默认值之后,选取下一组子图进行上述步骤,直至遍历计算得到待处理图像中所有组子图的默认值,再执行步骤S5。
作为优选的实施方式,如图5所示,步骤S5中,针对当前子图,还包括以下步骤:
步骤S51a、判断当前子图的第一标记为零;
若是,则将当前子图的左侧默认值作为当前子图的左侧重叠面积,并变更第一标记为预设满分值,随后退出;
若否,则进行步骤S52a;
步骤S52a、判断当前子图的左侧重叠面积与当前子图的左侧默认值的差值是否大于一第一预设阈值;
若是,则变更第一标记为一预设低分值;
若否,则退出;
步骤S51b、判断当前子图的第二标记是否为零;
若是,则将当前子图的上方默认值作为当前子图的上方重叠面积,并变更第二标记为预设满分值,随后退出;
若否,则进行步骤S52b;
步骤S52b、判断当前子图的上方重叠面积与当前子图的上方默认值的差值是否大于一第二预设阈值;
若是,则变更第二标记为预设低分值;
若否,则退出;
步骤S51a-S52a与步骤S51b-S52b同时进行,针对待处理图像中的所有子图分别变更第一标记和第二标记,从而遍历更新待处理图像中所有子图的标记,随后进入步骤S6。
上述技术方案中,从待处理图像中选取一张子图,针对当前子图,首先判断当前子图的第一标记是否为零,是则将当前子图所在列的左侧默认值作为当前子图的左侧重叠面积,即对在步骤S2中计算失败的左侧重叠面积进行赋值。
当不为零时,对标记为满分值的重叠面积进行第二轮评分,根据对最终所需的整图的要求,设置一第一预设阈值,判断当前子图的左侧重叠面积与当前子图的左侧默认值的差值是否大于第一预设阈值;
若大于,则意味着若根据当前子图的左侧重叠面积进行后续的拼接操作有极大可能会导致拼接失败,因此,当上述情况出现时,将第一标记变更为预设低分值,以便后续操作进行调整,预设低分值大于零小于预设的满分值即可。
在进行上述步骤的同时,根据同理可对当前子图的上方重叠面积进行赋值或对第二标记进行第二轮评分。
在进行步骤S51a-S52a与步骤S51b-S52b之后,选取下一子图进行上述步骤,直至遍历完所有子图,再执行步骤S6。
作为优选的实施方式,每个子图包括一第一拼接路径以及一第二拼接路径;
第一拼接路径为当前子图、当前子图的左侧相邻子图以及当前子图的左侧相邻子图的上方相邻子图之间进行拼接的拼接路径;
第二拼接路径为当前子图、当前子图的上方相邻子图以及当前子图的上方相邻子图的左侧相邻子图之间进行拼接的拼接路径;
如图6所示,步骤S6具体包括一重叠路径的调整过程:
步骤S61、通过调整每个子图的重叠面积,以使每个子图的第一拼接路径和第二拼接路径不产生冲突;
步骤S62、通过调整每个子图的重叠面积,以使每列子图的总长度一致;
步骤S61和步骤S62同时进行。
上述技术方案中,对于每张非边缘子图而言,拼接时不但要与上方相邻子图能拼接,也要与左侧相邻子图拼接,因此在拼接之前对子图设定了拼接路径。
为了避免拼接时两拼接路径发生冲突,以及避免拼接后的每列子图的总长度不一致,在当前子图拼接前,通过反复调整每个子图的重叠面积以解决上述问题。
作为优选的实施方式,步骤S61中,当满足预设的冲突条件时,判断子图的第一拼接路径和第二拼接路径不产生冲突;
预设的冲突条件为:第一拼接路径的重叠面积值与第二拼接路径的重叠面积值的差值的绝对值小于一预设的冲突值。
上述技术方案中,第一拼接路径的重叠面积值为当前子图的左侧重叠面积与当前子图的左侧相邻子图的上方重叠面积之和。
第二拼接路径的重叠面积值为当前子图的上方重叠面积与当前子图的上方相邻子图的左侧重叠面积之和。
当第一拼接路径的重叠面积值与第二拼接路径的重叠面积值的差值的绝对值小于一预设的冲突值,判定第一拼接路径与第二拼接路径不发生冲突。
冲突值根据实际工况设定,在此不做具体限定。
作为优选的实施方式,将每个子图的标记划分为:数值零、预设的满分值、预设的低分值;
如图7所示,步骤S61,针对当前子图,包括以下步骤:
步骤S611、判断当前子图的第一标记是否为预设低分值;
若是,则将当前子图的左侧默认值作为当前子图的左侧重叠面积,并变更第一标记为预设满分值;
若否,则退出;
步骤S612、判断当前子图的第二标记是否为预设低分值;
若是,则将当前子图的上方默认值作为当前子图的上方重叠面积,并变更第二标记为预设满分值;
若否,则退出;
步骤S611与步骤S612同时进行,针对待处理图像中的所有子图分别调整左侧重叠面积与上方重叠面积,从而遍历更新待处理图像中所有子图的重叠面积。
上述技术方案中,从待处理图像中选取一张子图,
上述技术方案中,为了避免拼接时两拼接路径发生冲突,对每张子图中标记为低分值的重叠面积进行赋值,将标记为低分值的重叠面积
根据子图的标记,在当前子图的第一标记为低分时,将子图所在列的左侧默认值作为当前子图新的左侧重叠面积,同理在第二标记为低分时,将上方默认值作为当前子图新的上方重叠面积,
从待处理图像中选取一张子图,针对当前子图,首先判断当前子图的第一标记是否为预设的低分值,是则将当前子图所在列的左侧默认值作为当前子图的左侧重叠面积,即对可能导致拼接路径冲突的左侧重叠面积重新赋值。
在进行步骤S611的同时,根据同理可对当前子图的第二标记判定,根据判定结果对上方重叠面积重新赋值或保持原值。
在进行步骤S611与S612之后,选取下一子图进行步骤S611与S612,直至遍历完所有子图。
作为优选的实施方式,如图8所示,步骤S62,针对当前列子图,包括以下步骤:
步骤S621、判断当前列子图的总长度与当前列子图的后一列子图进行对比的总长度的差值是否大于一预设长度值:
若是,则进行步骤S622;
若否,则退出;
步骤S622、将差值平均分配到当前列子图的后一列子图的每张子图的上方重叠面积中;
针对待处理图像中的所有列子图分别调整上方重叠面积,从而遍历更新待处理图像中所有列子图的重叠面积,以使每列子图的总长度一致。
上述技术方案中,由于相邻两列可能因为每张小图在上下方向的重叠量差值的累积,造成长度相差过大,因此需要消除累积。
因此选取待处理图像中的一列子图,在当前列子图的总长度与当前列子图的后一列子图进行对比的总长度的差值大于一预设长度值时,将该差值平均分配到当前列子图的后一列子图的每张子图的上方重叠面积中,即将该差值根据当前列的子图数量平均分配到的一减少量,对当前列中每张子图的上方重叠长度减少一减少量的值,使得相邻两列总长度一样大。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (10)
1.一种用于面阵相机图片拼接的算法,应用于面阵相机,其特征在于,包括以下步骤:
步骤S1、于所述面阵相机中获取待处理图像;
步骤S2、计算所述待处理图像中每个子图的重叠面积;
步骤S3、根据所述重叠面积设置每个所述子图的标记;
步骤S4、计算所述待处理图像中每一列所述子图的重叠面积的默认值;
步骤S5、将每个所述子图的所述重叠面积与对应列的所述默认值进行比较,并根据比较结果变更所述子图的所述标记;
步骤S6、根据所述标记分别调整每个所述子图的所述重叠面积;
步骤S7、根据调整后的所述重叠面积拼接所有所述子图形成拼接后的整图。
2.根据权利要求1所述的一种用于面阵相机图片拼接的算法,其特征在于,所述待处理图像由复数张离散的所述子图构成;
所述重叠面积,包括当前所述子图与当前所述子图的左侧相邻子图的左侧重叠面积,以及当前所述子图与当前所述子图的上方相邻子图的上方重叠面积;
所述默认值,包括上方默认值与左侧默认值;
所述标记,包括:
第一标记用以标记当前所述子图的所述左侧重叠面积;
第二标记用以标记当前所述子图的所述上方重叠面积。
3.根据权利要求2所述的一种用于面阵相机图片拼接的算法,其特征在于,所述步骤S2中,
针对当前所述子图,计算所述重叠面积的步骤包括一计算得到所述左侧重叠面积的过程:
步骤S21a、判断当前所述子图是否存在对应的所述左侧相邻子图:
若是,则将所述左侧重叠面积设置为0;
若否,则转向步骤S22a;
步骤S22a、将当前所述子图的边缘与所述左侧相邻子图的边缘进行对比,计算得出当前所述子图与所述左侧相邻子图的左侧重叠长度及左侧重叠宽度;
步骤S23a、根据所述左侧重叠长度及所述左侧重叠宽度计算得到当前所述子图的所述左侧重叠面积;
所述步骤S2中,针对当前所述子图,计算所述重叠面积的步骤还包括一计算得到所述上方重叠面积的过程:
步骤S21b、判断当前所述子图是否存在对应的所述上方相邻子图:
若是,则将所述上方重叠面积设置为0;
若否,则转向步骤S22b;
步骤S22b、将当前所述子图的边缘与所述上方相邻子图的边缘进行对比,计算得出当前所述子图与所述上方相邻子图的上方重叠长度及上方重叠宽度;
步骤S23b;根据所述上方重叠长度及所述上方重叠宽度计算得到当前所述子图的所述上方重叠面积;
针对所述待处理图像中的所有所述子图分别计算得到所述左侧重叠面积和所述上方重叠面积,从而遍历计算得到所述待处理图像中所有所述子图的所述重叠面积。
4.根据权利要求2所述的一种用于面阵相机图片拼接的算法,其特征在于,
所述步骤S3中,针对当前所述子图,还包括以下步骤:
步骤S31、判断所述子图的所述左侧重叠面积是否为空值;
若是,则设置所述第一标记为数值零;
若否,则设置所述第一标记为一预设满分值;
步骤S32、判断所述子图的所述上方重叠面积是否为空值;
若是,则设置所述第二标记为数值零;
若否,则设置所述第二标记为一预设满分值;
所述步骤S31与所述步骤S32同时进行,针对所述待处理图像中的所有所述子图分别设置所述第一标记和所述第二标记,从而遍历计算得到所述待处理图像中所有所述子图的所述标记。
5.根据权利要求4所述的一种用于面阵相机图片拼接的算法,其特征在于,所述步骤S4中,还包括以下步骤:
步骤S41、将所有所述子图按列进行分组,获取当前组中所有标记为所述预设满分值的所述重叠面积;
针对当前组,计算所述默认值的步骤包括一计算得到所述左侧默认值的过程:
步骤S42a、设定一预设的第一区间,以当前组中每个子图的所述左侧重叠面积作为所述第一区间的中值,筛选得到复数个左筛选区间,每个所述左筛选区间中包括多个所述子图;
步骤S43a、统计每个所述左筛选区间内包括的子图的数量,并将子图数量最多的所述左筛选区间确定为左默认值区间;
步骤S44a、计算得到包括在所述左默认值区间内的所有所述子图的所述左侧重叠面积的平均值,并作为所述子图所在列的所述左侧默认值;
针对当前组,计算所述默认值的步骤还包括一计算得到所述上方默认值的过程:
步骤S42b、设定一预设的第二区间,以当前组中每个子图的所述上方重叠面积作为所述第二区间的中值,筛选得到复数个上筛选区间,每个所述上筛选区间中包括多个所述子图;
步骤S43b、统计每个所述上筛选区间内包括的子图的数量,并将子图数量最多的所述上筛选区间确定为上默认值区间;
步骤S44b、计算得到包括在所述上默认值区间内的所有所述子图的所述上方重叠面积的平均值,并作为所述子图所在列的所述上方默认值;
针对所述待处理图像中的所有所述组分别计算得到所述左侧默认值和所述上方默认值,从而遍历计算得到所述待处理图像中所有所述子图的所述默认值。
6.根据权利要求2所述的一种用于面阵相机图片拼接的算法,其特征在于,所述步骤S5中,针对当前所述子图,还包括以下步骤:
步骤S51a、判断当前所述子图的所述第一标记为零;
若是,则将当前所述子图的所述左侧默认值作为当前所述子图的所述左侧重叠面积,并变更所述第一标记为所述预设满分值,随后退出;
若否,则进行步骤S52a;
步骤S52a、判断当前所述子图的所述左侧重叠面积与当前所述子图的所述左侧默认值的差值是否大于一第一预设阈值;
若是,则变更所述第一标记为一预设低分值;
若否,则退出;
步骤S51b、判断当前所述子图的所述第二标记是否为零;
若是,则将当前所述子图的所述上方默认值作为当前所述子图的所述上方重叠面积,并变更所述第二标记为所述预设满分值,随后退出;
若否,则进行步骤S52b;
步骤S52b、判断当前所述子图的所述上方重叠面积与当前所述子图的所述上方默认值的差值是否大于一第二预设阈值;
若是,则变更所述第二标记为所述预设低分值;
若否,则退出;
所述步骤S51a-S52a与所述步骤S51b-S52b同时进行,针对所述待处理图像中的所有所述子图分别变更所述第一标记和所述第二标记,从而遍历更新所述待处理图像中所有所述子图的所述标记,随后进入步骤S6。
7.如权利要求1所述的一种用于面阵相机图片拼接的算法,其特征在于,每个所述子图包括一第一拼接路径以及一第二拼接路径;
所述第一拼接路径为所述当前子图、所述当前子图的所述左侧相邻子图以及所述当前子图的所述左侧相邻子图的所述上方相邻子图之间进行拼接的拼接路径;
所述第二拼接路径为所述当前子图、所述当前子图的所述上方相邻子图以及所述当前子图的所述上方相邻子图的所述左侧相邻子图之间进行拼接的拼接路径;
所述步骤S6具体包括一重叠路径的调整过程:
步骤S61、通过调整每个子图的所述重叠面积,以使每个所述子图的所述第一拼接路径和所述第二拼接路径不产生冲突;
步骤S62、通过调整每个所述子图的所述重叠面积,以使每列所述子图的总长度一致;
所述步骤S61和所述步骤S62同时进行。
8.根据权利要求7所述的一种用于面阵相机图片拼接的算法,其特征在于,所述步骤S61中,当满足预设的冲突条件时,判断所述子图的所述第一拼接路径和所述第二拼接路径不产生冲突;
预设的所述冲突条件为:所述第一拼接路径的重叠面积值与所述第二拼接路径的重叠面积值的差值的绝对值小于一预设的冲突值。
9.根据权利要求7所述的一种用于面阵相机图片拼接的算法,其特征在于,将每个所述子图的所述标记划分为:数值零、预设的满分值、预设的低分值;
所述步骤S61,针对当前所述子图,包括以下步骤:
步骤S611、判断当前所述子图的所述第一标记是否为所述预设低分值;
若是,则将当前所述子图的所述左侧默认值作为当前所述子图的所述左侧重叠面积,并变更所述第一标记为所述预设满分值;
若否,则退出;
步骤S612、判断当前所述子图的所述第二标记是否为所述预设低分值;
若是,则将当前所述子图的所述上方默认值作为当前所述子图的所述上方重叠面积,并变更所述第二标记为所述预设满分值;
若否,则退出;
所述步骤S611与步骤S612同时进行,针对所述待处理图像中的所有所述子图分别调整所述左侧重叠面积与所述上方重叠面积,从而遍历更新所述待处理图像中所有所述子图的所述重叠面积。
10.根据权利要求7所述的一种用于面阵相机图片拼接的算法,其特征在于,所述步骤S62,针对当前列所述子图,包括以下步骤:
步骤S621、判断当前列所述子图的总长度与当前列所述子图的后一列所述子图进行对比的总长度的差值是否大于一预设长度值:
若是,则进行步骤S622;
若否,则退出;
步骤S622、将所述差值平均分配到当前列所述子图的后一列所述子图的每张所述子图的所述上方重叠面积中;
针对所述待处理图像中的所有列所述子图分别调整所述上方重叠面积,从而遍历更新所述待处理图像中所有列所述子图的所述重叠面积,以使每列所述子图的总长度一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910346413.8A CN110349116B (zh) | 2019-04-26 | 2019-04-26 | 一种用于面阵相机图片拼接的算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910346413.8A CN110349116B (zh) | 2019-04-26 | 2019-04-26 | 一种用于面阵相机图片拼接的算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110349116A true CN110349116A (zh) | 2019-10-18 |
CN110349116B CN110349116B (zh) | 2023-01-24 |
Family
ID=68174324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910346413.8A Active CN110349116B (zh) | 2019-04-26 | 2019-04-26 | 一种用于面阵相机图片拼接的算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110349116B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620880A (zh) * | 2019-10-21 | 2019-12-27 | 银河水滴科技(北京)有限公司 | 获取产品图像的装置及方法 |
CN114463184A (zh) * | 2022-04-11 | 2022-05-10 | 国仪量子(合肥)技术有限公司 | 图像拼接方法、装置及存储介质、电子设备 |
CN117372252A (zh) * | 2023-12-06 | 2024-01-09 | 国仪量子技术(合肥)股份有限公司 | 图像拼接方法、装置及存储介质、电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150154776A1 (en) * | 2013-12-03 | 2015-06-04 | Huawei Technologies Co., Ltd. | Image splicing method and apparatus |
CN106657789A (zh) * | 2016-12-29 | 2017-05-10 | 核动力运行研究所 | 一种螺纹全景图像合成方法 |
CN106683051A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种图像拼接方法及装置 |
-
2019
- 2019-04-26 CN CN201910346413.8A patent/CN110349116B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150154776A1 (en) * | 2013-12-03 | 2015-06-04 | Huawei Technologies Co., Ltd. | Image splicing method and apparatus |
CN106657789A (zh) * | 2016-12-29 | 2017-05-10 | 核动力运行研究所 | 一种螺纹全景图像合成方法 |
CN106683051A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇艺世纪科技有限公司 | 一种图像拼接方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110620880A (zh) * | 2019-10-21 | 2019-12-27 | 银河水滴科技(北京)有限公司 | 获取产品图像的装置及方法 |
CN110620880B (zh) * | 2019-10-21 | 2021-08-13 | 银河水滴科技(北京)有限公司 | 获取产品图像的装置及方法 |
CN114463184A (zh) * | 2022-04-11 | 2022-05-10 | 国仪量子(合肥)技术有限公司 | 图像拼接方法、装置及存储介质、电子设备 |
CN117372252A (zh) * | 2023-12-06 | 2024-01-09 | 国仪量子技术(合肥)股份有限公司 | 图像拼接方法、装置及存储介质、电子设备 |
CN117372252B (zh) * | 2023-12-06 | 2024-02-23 | 国仪量子技术(合肥)股份有限公司 | 图像拼接方法、装置及存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110349116B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110349116A (zh) | 一种用于面阵相机图片拼接的算法 | |
CN1322743C (zh) | 建立亮度过滤器的方法及虚拟空间建立系统 | |
EP1719423B1 (en) | Method and device for simulating wearing of a knit garment on a human model and program thereof | |
CN107071376B (zh) | 一种投影拼接显示校正方法及装置 | |
US20080082912A1 (en) | Graphic Assembly Layout with Maximum Page Coverage and Minimum Content Removal | |
CN102165415A (zh) | 调整窗口大小的系统和方法 | |
CN107113419A (zh) | 自动立体多视图系统 | |
CN107333176A (zh) | 一种分布式视频渲染的方法及系统 | |
CN106454305B (zh) | 白平衡校正方法及装置 | |
US20160379540A1 (en) | Boundary judging method and device, and display driving method and device | |
CN106610926A (zh) | Echarts图表的数据显示方法及装置 | |
CN106192346A (zh) | 一种用裁剪机对图案进行智能裁剪的方法及其系统 | |
CN106875364A (zh) | 一种真正射影像生成方法 | |
CN107507519B (zh) | 终端、显示屏、以及控制显示屏显示的方法 | |
CN104822069A (zh) | 一种图像信息检测方法及装置 | |
CN110929487A (zh) | 表格排版方法及装置、计算机设备和可读存储介质 | |
CN107079140A (zh) | 用于在自动立体监视器上呈现三维场景的方法 | |
CN105427240A (zh) | 图像裁剪方法 | |
JPH03146088A (ja) | 刺繍データ処理装置 | |
CN109900707B (zh) | 一种铺粉质量检测方法、设备以及可读存储介质 | |
CN104820577B (zh) | 显示装置及其显示信号输入系统、显示信号输入方法 | |
CN106488145A (zh) | 一种多方视频通话窗口的分屏方法 | |
CN207037277U (zh) | 显示基板和具有它的液晶显示屏 | |
KR102319183B1 (ko) | 니트 디자인 시스템 | |
CN105280156A (zh) | 一种获取显示屏最大公共色域的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |