图像拼接方法、装置、终端及计算机可读存储介质与流程

    专利2022-07-08  97


    本申请涉及图像处理技术领域,具体涉及一种图像拼接方法、装置、终端及计算机可读存储介质。



    背景技术:

    在新零售(如无人售货智能零售)领域中,在对商品货架进行拍照时,由于货架之间的间距和空间的限制,很难一次拍摄完整的商品货架图像,进而影响对商品货架占有率及陈列率等的检测,因此,需要对商品货架的图像进行拼接。

    但由于商品货架的图像中重复商品多,相似度大,应用传统的图像拼接方法很容易出现图像拼接错位的情况,拼接效果差。



    技术实现要素:

    本申请实施例提供一种图像拼接方法、装置、终端及计算机可读存储介质,可以提高图像的拼接效果。

    第一方面,本申请实施例提供了一种图像拼接方法,包括:

    分别获取多张待拼接图像中的重叠区域,所述重叠区域为所述待拼接图像之间的重叠区域;

    根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵;

    对所述重叠区域进行网格化处理,得到多个重叠子区域;

    基于所述全局单应性矩阵,根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵;

    根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像。

    在一些实施方式中,所述分别获取多张待拼接图像中的重叠区域,包括:

    获取所述多张待拼接图像;

    对所述多张待拼接图像进行图像尺寸统一化处理,得到处理后的多张待拼接图像;

    分别从所述处理后的多张待拼接图像中提取所述重叠区域。

    在一些实施方式中,所述根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵之前,所述方法还包括:

    分别对所述重叠区域进行特征点检测,获取每个所述重叠区域的特征点;

    根据预设的偏移角度对所述特征点进行第一剔除处理,得到处理后的特征点;

    根据预设的特征点数量对所述处理后的特征点进行第二剔除处理,得到所述特征点对。

    在一些实施方式中,所述根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵之前,所述方法还包括:

    分别对所述重叠区域进行特征线检测,获取每个所述重叠区域的特征线;

    在所述重叠子区域中对所述特征线进行线匹配,得到所述特征线对。

    在一些实施方式中,所述根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像之后,所述方法还包括:

    对所述拼接后的图像进行图像融合处理,得到融合后的图像。

    在一些实施方式中,所述对所述拼接后的图像进行图像融合处理,包括:

    对所述拼接后的图像中的重叠区域进行直线约束调整处理;和/或,

    对所述拼接后的图像进行尺度归一化矫正处理;和/或,

    对所述拼接后的图像中的重叠区域边缘线进行缝合线融合处理。

    在一些实施方式中,所述对所述拼接后的图像进行投影变换处理,包括:

    对所述拼接后的图像中的非重叠区域进行全局投影变换处理;以及,

    对所述拼接后的图像中的重叠区域进行局部投影变换处理。

    第二方面,本申请实施例还提供了一种图像拼接装置,包括:

    获取单元,用于分别获取多张待拼接图像中的重叠区域,所述重叠区域为所述待拼接图像之间的重叠区域;

    第一确定单元,用于根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵;

    处理单元,用于对所述重叠区域进行网格化处理,得到多个重叠子区域;

    第二确定单元,用于基于所述全局单应性矩阵,根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵;

    拼接单元,用于根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像。

    在一些实施方式中,所述获取单元具体用于:

    获取所述多张待拼接图像;

    对所述多张待拼接图像进行图像尺寸统一化处理,得到处理后的多张待拼接图像;

    分别从所述处理后的多张待拼接图像中提取所述重叠区域。

    在一些实施方式中,所述装置还包括:

    特征点检测单元,用于分别对所述重叠区域进行特征点检测,获取每个所述重叠区域的特征点;

    第一剔除单元,用于根据预设的偏移角度对所述特征点进行第一剔除处理,得到处理后的特征点;

    第二剔除单元,用于根据预设的特征点数量对所述处理后的特征点进行第二剔除处理,得到所述特征点对。

    在一些实施方式中,所述装置还包括:

    特征线检测单元,用于分别对所述重叠区域进行特征线检测,获取每个所述重叠区域的特征线;

    第三确定单元,用于在所述重叠子区域中对所述特征线进行线匹配,得到所述特征线对。

    在一些实施方式中,所述装置还包括:

    图像融合单元,用于对所述拼接后的图像进行图像融合处理,得到融合后的图像。

    在一些实施方式中,所述图像融合单元具体用于:

    对所述拼接后的图像中的重叠区域进行直线约束调整处理;和/或,

    对所述拼接后的图像进行尺度归一化矫正处理;和/或,

    对所述拼接后的图像中的重叠区域边缘线进行缝合线融合处理。

    在一些实施方式中,所述图像融合单元还具体用于:

    对所述拼接后的图像中的非重叠区域进行全局投影变换处理;以及,

    对所述拼接后的图像中的重叠区域进行局部投影变换处理。

    第三方面,本申请实施例还提供了一种终端,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行本申请实施例提供的任一种图像拼接方法中的步骤。

    第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本申请实施例提供的任一种图像拼接方法中的步骤。

    本申请实施例中,图像拼接装置分别获取多张待拼接图像中的重叠区域,其中,该重叠区域为待拼接图像之间的重叠区域;然后根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵;对重叠区域进行网格化处理,得到多个重叠子区域;再基于上述的全局单应性矩阵,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵;最后根据局部单应性矩阵对待拼接图像进行拼接,得到拼接后的图像。本申请首先根据重叠区域之间的特征点对计算重叠区域之间的全局单应性矩阵,该全局单应性矩阵可以对待拼接图像进行粗拼接,然后再在全局单应性矩阵的基础上根据特征线对计算重叠子区域之间的局部单应性矩阵,从而实现待拼接图像的细拼接,故本方案可以提高图像的拼接效果。

    附图说明

    为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是本申请实施例提供的图像拼接方法的一个流程示意图;

    图2是本申请实施例提供的终端的一个界面图;

    图3是本申请实施例提供的终端的一个界面图;

    图4是本申请实施例提供的终端的一个界面图;

    图5是本申请实施例提供的终端的一个界面图;

    图6是本申请实施例提供的图像拼接方法的另一个流程示意图;

    图7是本申请实施例提供的图像拼接装置的一个结构示意图;

    图8是本申请实施例提供的图像拼接装置的另一个结构示意图;

    图9是本申请实施例提供的终端的一个结构示意图。

    具体实施方式

    下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

    在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。

    本发明的原理使用许多其它泛用性或特定目的运算、通信环境或组态来进行操作。所熟知的适合用于本发明的运算系统、环境与组态的范例可包括(但不限于)手持电话、个人计算机、服务器、多处理器系统、微电脑为主的系统、主架构型计算机、及分布式运算环境,其中包括了任何的上述系统或装置。

    本发明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。

    请参阅图1,图1是本申请一实施例提供的图像拼接方法的流程示意图。该图像拼接方法的执行主体可以是本申请实施例提供的图像拼接装置,或者集成了该图像拼接装置的终端,其中,该图像拼接装置可以采用硬件或者软件的方式实现,该终端可以是智能手机、平板电脑、掌上电脑、笔记本电脑或者台式电脑等。该图像拼接方法可以包括:

    101、分别获取多张待拼接图像中的重叠区域。

    其中,重叠区域为待拼接图像之间的重叠区域,待拼接图像为需要被拼接整合的图像,在一些实施例中,本申请中的待拼接图像可以为图像拼接装置本地存储的需要拼接的图像,此时,用户只需要从图像拼接装置的本地存储器中提取待拼接图像即可,在另一些实施例中,待拼接图像可以为图像拼接装置从服务器中下载的图像,在再另一些实施例中,待拼接图像还可以为通过图像拼接装置的摄像头实时拍摄而获取到的图像,待拼接图像的来源方式此处不做限定,其中,获取到的待拼接图像的数量不小于2。

    其中,在一些实施例中,本申请中的待拼接图像可以为商品货架所对应的图像。

    在一些实施例中,分别获取多张待拼接图像中的重叠区域,包括:获取多张待拼接图像;对多张待拼接图像进行图像尺寸统一化处理,得到处理后的多张待拼接图像;分别从处理后的多张待拼接图像中提取重叠区域。

    即,在获取待拼接图像之后,需要将多张待拼接图像缩放到统一的尺寸大小,以便后续的拼接处理,然后再从统一尺寸的多张待拼接图像中提取待拼接图像之间的重叠区域。

    在一些实施例中,从多张待拼接图像中提取重叠区域的方法可以为,首先分别获取多张待拼接图像的特征点,然后进行图像之间的特征点匹配,最后将特征点匹配的区域确定为图像之间的重叠区域。

    其中,本申请在确定各张待拼接图像的重叠区域之后,还需要标定重叠区域的边缘点坐标。

    其中,本申请中的重叠区域一般为两张图像中的重叠区域,但不限于为两张图像的重叠区域。

    在一些实施例中,本申请中的多张待拼接图像在拍摄时如果有平移,则拍摄的角度变化一般需要小于20°,如果拍摄时没有平移,则此时对拍摄的角度无限制。

    102、根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵。

    其中,计算重叠区域之间的单应性矩阵的目的是将对应的重叠区域转换到同一个坐标之下,然后再根据该同一个坐标对重叠区域的位置进行调整。

    本实施例在获取重叠区域并对重叠区域进行图像尺寸统一化处理之后,将会根据对应重叠区域之间的特征点确定重叠区域之间的全局单应性矩阵。具体地,根据特征点的坐标确定重叠区域之间的全局单应性矩阵。

    在一些实施例中,在根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵之前,方法还包括:

    a.分别对重叠区域进行特征点检测,获取每个重叠区域的特征点。

    具体地,本申请使用surf特征检测进行重叠区域的特征点提取,该方法相对于传统的特征点提取算法(例如sift算法),提取速度较快。

    b.根据预设的偏移角度对特征点进行第一剔除处理,得到处理后的特征点。

    本申请中的第一剔除处理为随机抽样一致算法(randomsampleconsensus,ransac)滤除处理,该方法可以根据重叠区域特征点之间的偏移角度,以及预设的偏移角度对特征点进行剔除,从而剔除多余的外点,其中,本申请可以将特征点之间的偏移角度大于预设的偏移角度的特征点进行剔除处理,该剔除可以使得图像的拼接效果更好。

    其中,预设的偏移角度可以为10°,也可以设置为其他角度,具体此处不做限定。

    c.根据预设的特征点数量对处理后的特征点进行第二剔除处理,得到特征点对。

    本申请中的第二剔除处理也为ransac滤除处理,即本申请需要对特征点进行两次的ransac滤除处理,其中,第二次的ransac滤除处理为根据预设的特征点数量特征点进行一致性排序剔除,例如,剔除特征点之间的偏移角度较大的特征点,使得每张重叠区域的特征点个数不能大于预设的特征点数量,该剔除可以提高图像的拼接效率。

    经过两次ransac滤除处理之后,再将重叠区域之间对应的特征点组成特征点对。

    具体地,本实施例中的特征点对可以由两个特征点组成,例如,当存在需要进行融合的重叠区域a和重叠区域b时,那么此时,可以将重叠区域a和重叠区域b对应位置(例如重叠区域a的左上角和重叠区域b的左上角)的特征点组成特征点对,其中,该特征点为经过两次ransac滤除处理之后剩下的特征点。

    其中,预设的特征点数量可以为1000个,也可以设置为其他个数,具体此处不做限定。

    103、对重叠区域进行网格化处理,得到多个重叠子区域。

    本实施例中,为了使得图像拼接更加的精确,本申请还需要对重叠区域进行网格化处理,在重叠区域中划分出多个重叠子区域,其中,本申请需要对每张重叠区域进行一致性的网格化处理。

    其中,本申请中的网格化处理为宽松网格化处理,即,将重叠区域划分为少数个(例如4或6个)重叠子区域,大幅减少后续步骤的计算量。

    104、基于全局单应性矩阵,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵。

    本实施例中,由于图像拍摄时很容易出现相机光心不重合或者图像重叠区域不在同一个平面的情况,单纯的全局单应性矩阵已经无法对齐图像,此时的拼接往往会出现图像拼接错位和重影的问题。所以,本申请提出了对图像重叠区域进行宽松网格化处理的策略,将图像重叠区域分成多个较大的网格,以全局单应性矩阵作为初始值,对每个网格进行局部单应性矩阵的求解。

    其中,本申请将重叠子区域之间的特征线对作为约束项,计算重叠子区域之间的局部单应性矩阵。

    在一些实施例中,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵之前,方法还包括:分别对重叠区域进行特征线检测,获取每个重叠区域的特征线;在重叠子区域中对特征线进行线匹配,得到特征线对,该特征线对用于作为约束项进行局部单应性矩阵求解。

    在一些实施例中,在重叠子区域中对特征线进行线匹配,得到特征线对,具体可以为:获取各条特征线的长度以及宽度,然后根据对应重叠子区域(即需要进行融合的多个重叠区域中,同一顺序的重叠子区域,例如第一行第二个重叠子区域)中特征线的长度以及宽度确定特征线对。

    在另一些实施例中,在重叠子区域中对特征线进行线匹配,得到特征线对,具体可以为:确定特征线在重叠子区域中的位置,然后将对应重叠子区域中对应位置的特征线确定特征线对。

    具体地,本申请可以基于一种直线检测算法(alinesegmentdetector,lsd)的快速直线检测提取方法对重叠区域进行特征线检测,其中,为了提升算法的处理速度,本申请还设定了直线检测提取的最小长度和宽度。

    105、根据局部单应性矩阵对待拼接图像进行拼接,得到拼接后的图像。

    当确定了每个重叠子区域的局部单应性矩阵之后,将会根据局部单应性矩阵分别对对应的重叠子区域进行配准,即对每个重叠子区域进行对应局部单应性矩阵投影变换,将对应的重叠子区域换转至同一坐标下,以实现重叠子区域之间的配准。

    当所有的重叠子区域都进行了配准之后,就可以实现重叠区域之间的配准,其中,重叠区域进行局部单应性矩阵投影变换,非重叠区域进行全局单应性矩阵投影变换,本申请中的重叠区域的配准过程即待拼接图像进行拼接的过程。

    在一些实施例中,为了使得拼接后的图像有更好的视觉效果,本申请还需要对拼接后的图像进行图像融合处理,得到融合后的图像。

    其中,对拼接后的图像进行图像融合处理,包括以下的一个或多个步骤:

    1、对拼接后的图像中的重叠区域进行直线约束调整处理。

    2、对拼接后的图像进行尺度归一化矫正处理。

    3、对拼接后的图像中的重叠区域边缘线进行缝合线融合处理。

    当对拼接后的图像进行图像融合处理,包括多个步骤时,具体地,在一些实施例中,融合的过程为:在同一坐标系下,其他几张待拼接图像通过投影变换统一到中间主图像坐标系(若只有两张,则任意选一张),对图像的非重叠区域进行全局投影变换,对重叠区域进行局部投影变换之后,对重叠区域中的重叠子区域(网格)进行直线约束下的进一步优化和微调(可能导致网格变形)。图像在经过投影变换和网格变形之后,可能在尺度上不完全一致,此时需要对图像再进行尺度归一化的校正。最后,对拼接图像进行光照补偿和对重叠区域的边缘进行缝合线融合处理,使得拼接处的图像更加自然。

    此处,为本申请中的图像拼接方法提供一个具体的应用场景,如下:

    当图像拼接装置为移动终端,如为手机的时候,用户可以打开手机中安装的拼接应用,打开之后的终端界面图如图2所示,此时用户根据提示,点击界面上“我知道了”的按钮之后,用户进行多张图像的拍摄,当拍摄完成之后,点击界面上的“开始拼接”按钮(如图3所示),此时手机会自动执行本申请中的图像拼接方法,输出拼接结果,若拼接成功,则输出拼接成功的图片展示给用户看(如图4所示),若拼接失败,则输出拼接失败的原因,如图5所示的终端界面图,失败原因为图像拍摄的视角变化过大或重叠区域小于25%,此时可以重新获取拼接图像或取消拼接。

    此外,本申请中的图像拼接失败原因还包括:待拼接图像的图像格式不符合预置图像给,互联网或应用程序编程接口(applicationprogramminginterface,api)崩溃等原因。

    本申请实施例中,图像拼接装置分别获取多张待拼接图像中的重叠区域,其中,该重叠区域为待拼接图像之间的重叠区域;然后根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵;对重叠区域进行网格化处理,得到多个重叠子区域;再基于上述的全局单应性矩阵,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵;最后根据局部单应性矩阵对待拼接图像进行拼接,得到拼接后的图像。本申请首先根据重叠区域之间的特征点对计算重叠区域之间的全局单应性矩阵,该全局单应性矩阵可以对待拼接图像进行粗拼接,然后再在全局单应性矩阵的基础上根据特征线对计算重叠子区域之间的局部单应性矩阵,从而实现待拼接图像的细拼接,故本方案可以提高图像的拼接效果。

    根据上述实施例所描述的图像拼接方法,以下将作进一步详细说明。

    请参照图6,图6为本申请实施例提供的图像拼接方法的另一流程示意图。该图像拼接方法可以应用于终端,如图6所示,该图像拼接方法的流程可以如下:

    601、终端获取多张待拼接图像。

    本申请中的待拼接图像为需要被拼接整合的图像。

    在一些实施例中,本申请中的待拼接图像可以为终端本地存储的需要拼接的图像,此时,用户只需要从终端的本地存储器中提取待拼接图像即可,在另一些实施例中,待拼接图像可以为终端从服务器中下载的图像,在再另一些实施例中,待拼接图像还可以为通过终端的摄像头实时拍摄而获取到的图像,待拼接图像的来源方式此处不做限定。

    在一些实施例中,本申请中的多张待拼接图像在拍摄时如果有平移,则拍摄的角度变化一般需要小于20°,如果拍摄时没有平移,则此时对拍摄的角度无限制。

    602、终端对多张待拼接图像进行图像尺寸统一化处理,得到处理后的多张待拼接图像。

    本实施例中,在获取待拼接图像之后,需要将多张待拼接图像缩放到统一的尺寸大小,以便后续的拼接处理。

    603、终端分别从处理后的多张待拼接图像中提取重叠区域。

    在一些实施例中,从待拼接图像中提取重叠区域的方法可以为,首先分别获取多张待拼接图像的特征点,然后进行图像之间的特征点匹配,最后将特征点匹配的区域确定为图像之间的重叠区域。

    本申请在确定各张待拼接图像的重叠区域之后,还需要标定重叠区域的边缘点坐标。

    其中,本申请中的重叠区域一般为两张图像中的重叠区域,但不限于为两张图像的重叠区域。

    604、终端分别对重叠区域进行特征点检测,获取每个重叠区域的特征点。

    在一些实施例中,本申请使用surf特征检测进行重叠区域的特征点提取,该方法相对于传统的特征点提取算法(例如sift算法),提取速度较快。

    605、终端根据预设的偏移角度对特征点进行第一剔除处理,得到处理后的特征点。

    其中,本申请中的第一剔除处理可以为ransac处理,该方法可以根据重叠区域特征点之间的偏移角度,以及预设的偏移角度对特征点进行剔除,从而剔除多余的外点。

    其中,本申请可以将特征点之间的偏移角度大于预设的偏移角度的特征点进行剔除处理,该剔除可以使得图像的拼接效果更好。

    606、终端根据预设的特征点数量对处理后的特征点进行第二剔除处理,得到特征点对。

    其中,本申请中的第二剔除处理也可以为ransac滤除处理,即本申请需要对特征点进行两次的ransac滤除处理,其中,第二次的ransac滤除处理为根据预设的特征点数量特征点进行一致性排序剔除,即每张重叠区域的特征点个数不能大于预设的特征点数量,该剔除可以提高图像的拼接效率。

    经过两次ransac滤除处理处理之后,再将重叠区域之间对应的特征点组成特征点对。

    具体地,本实施例中的特征点对可以由两个特征点组成,例如,当存在需要进行融合的重叠区域a和重叠区域b时,那么此时,可以将重叠区域a和重叠区域b对应位置(例如重叠区域a的左上角和重叠区域b的左上角)的特征点组成特征点对,其中,该特征点为经过两次ransac滤除处理之后剩下的特征点。

    607、终端根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵。

    当确定了重叠区域之间的特征点对之后,将计算相应重叠区域之间的特征点对的全局单应性矩阵。

    其中,计算重叠区域之间的单应性矩阵的目的是将对应的重叠区域通过投影变换转换到同一个坐标之下,然后再进行后续步骤。本申请中计算特征点对的全局单应性矩阵的目的是对待拼接图像进行粗拼接。

    608、终端对重叠区域进行网格化处理,得到多个重叠子区域。

    为了使得图像拼接更加的精确,本申请还需要对重叠区域进行网格化处理,在重叠区域中划分出多个重叠子区域,其中,本申请需要对每张重叠区域进行一致性的网格化处理。

    在一些实施例中,本申请中的网格化处理为宽松网格化处理,即,将重叠区域划分为少数个(例如4或6个)重叠子区域,使得重叠子区域的区域不太过偏小,在保证计算精度的同时,大幅减少后续步骤的计算量。

    609、终端分别对重叠区域进行特征线检测,获取每个重叠区域的特征线。

    本实施例中,可以基于lsd的快速直线检测提取方法对重叠区域进行特征线检测,其中,为了提升算法的处理速度,本申请还设定了直线检测提取的最小长度和宽度。

    需要说明的是,步骤609只需要在步骤603之后,步骤610之前执行即可,其具体的执行顺序此处不做限定。

    610、终端在重叠子区域中对特征线进行线匹配,得到特征线对。

    在一些实施例中,在重叠子区域中对特征线进行线匹配,得到特征线对,具体可以为:获取各条特征线的长度以及宽度,然后根据对应重叠子区域(即需要进行融合的多个重叠区域中,同一顺序的重叠子区域,例如第一行第二个重叠子区域)中特征线的长度以及宽度确定特征线对。

    在另一些实施例中,在重叠子区域中对特征线进行线匹配,得到特征线对,具体可以为:确定特征线在重叠子区域中的位置,然后将对应重叠子区域中对应位置的特征线确定特征线对。

    611、终端基于全局单应性矩阵,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵。

    由于图像拍摄时很容易出现相机光心不重合或者图像重叠区域不在同一个平面的情况,单纯的全局单应性矩阵已经无法对齐图像,此时的拼接往往会出现图像拼接错位和重影的问题。所以,本申请提出了对图像重叠区域进行宽松网格化处理的策略,将图像重叠区域分成较大的网格,以全局单应性矩阵作为初始值,对每个网格进行局部单应性矩阵的求解。

    具体地,本申请将重叠子区域之间的特征线对作为约束项,计算重叠子区域之间的局部单应性矩阵。

    612、终端根据局部单应性矩阵对待拼接图像进行拼接,得到拼接后的图像。

    当确定了每个重叠子区域的局部单应性矩阵之后,将会根据局部单应性矩阵分别对对应的重叠子区域进行配准,即将对应的两个或两个以上的重叠子区域通过投影变换转至同一坐标下,以实现重叠子区域之间的配准。

    当所有的重叠子区域都进行了配准之后,就可以实现重叠区域之间的配准,其中,重叠区域进行局部单应性矩阵投影变换,非重叠区域进行全局单应性矩阵投影变换。

    613、终端对拼接后的图像进行图像融合处理,得到融合后的图像。

    在一些实施例中,为了使得拼接后的图像有更好的视觉效果,本申请还需要对拼接后的图像进行图像融合处理,得到融合后的图像。

    其中,对拼接后的图像进行图像融合处理,包括以下的一个或多个步骤:

    1、对拼接后的图像中的重叠区域进行直线约束调整处理。

    2、对拼接后的图像进行尺度归一化矫正处理。

    3、对拼接后的图像中的重叠区域边缘线进行缝合线融合处理。

    其中,对拼接后的图像进行投影变换处理,包括:对拼接后的图像中的非重叠区域进行全局投影变换处理;以及,对拼接后的图像中的重叠区域进行局部投影变换处理。

    本申请实施例中,终端分别获取多张待拼接图像中的重叠区域,其中,该重叠区域为待拼接图像之间的重叠区域;然后根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵;对重叠区域进行网格化处理,得到多个重叠子区域;再基于上述的全局单应性矩阵,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵;最后根据局部单应性矩阵对待拼接图像进行拼接,得到拼接后的图像。本申请首先根据重叠区域之间的特征点对计算重叠区域之间的全局单应性矩阵,该全局单应性矩阵可以对待拼接图像进行粗拼接,然后再在全局单应性矩阵的基础上根据特征线对计算重叠子区域之间的局部单应性矩阵,从而实现待拼接图像的细拼接,故本方案可以提高图像的拼接效果。

    为便于更好的实施本申请实施例提供的图像拼接方法,本申请实施例还提供一种基于上述图像拼接方法的装置。其中名词的含义与上述图像拼接方法中相同,具体实现细节可以参考方法实施例中的说明。

    请参阅图7,图7为本申请实施例提供的图像拼接装置的结构示意图,其中该图像拼接装置700可以包括获取单元701、第一确定单元702、处理单元703、第二确定单元704及拼接单元705等,其中:

    获取单元701,用于分别获取多张待拼接图像中的重叠区域,所述重叠区域为所述待拼接图像之间的重叠区域;

    第一确定单元702,用于根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵;

    处理单元703,用于对所述重叠区域进行网格化处理,得到多个重叠子区域;

    第二确定单元704,用于基于所述全局单应性矩阵,根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵;

    拼接单元705,用于根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像。

    在一些实施方式中,所述获取单元701具体用于:

    获取所述多张待拼接图像;

    对所述多张待拼接图像进行图像尺寸统一化处理,得到处理后的多张待拼接图像;

    分别从所述处理后的多张待拼接图像中提取所述重叠区域。

    请参阅图8,在一些实施方式中,所述装置还包括:

    特征点检测单元706,用于分别对所述重叠区域进行特征点检测,获取每个所述重叠区域的特征点;

    第一剔除单元707,用于根据预设的偏移角度对所述特征点进行第一剔除处理,得到处理后的特征点;

    第二剔除单元708,用于根据预设的特征点数量对所述处理后的特征点进行第二剔除处理,得到所述特征点对。

    在一些实施方式中,所述装置还包括:

    特征线检测单元709,用于分别对所述重叠区域进行特征线检测,获取每个所述重叠区域的特征线;

    第三确定单元710,用于在所述重叠子区域中对所述特征线进行线匹配,得到所述特征线对。

    在一些实施方式中,所述装置还包括:

    图像融合单元711,用于对所述拼接后的图像进行图像融合处理,得到融合后的图像。

    在一些实施方式中,所述图像融合单元711具体用于:

    对所述拼接后的图像中的重叠区域进行直线约束调整处理;和/或,

    对所述拼接后的图像进行尺度归一化矫正处理;和/或,

    对所述拼接后的图像中的重叠区域边缘线进行缝合线融合处理。

    在一些实施方式中,所述图像融合单元711还具体用于:

    对所述拼接后的图像中的非重叠区域进行全局投影变换处理;以及,

    对所述拼接后的图像中的重叠区域进行局部投影变换处理。

    本申请实施例中,获取单元701分别获取多张待拼接图像中的重叠区域,其中,该重叠区域为待拼接图像之间的重叠区域;然后第一确定单元702根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵;处理单元703对重叠区域进行网格化处理,得到多个重叠子区域;第二确定单元704再基于上述的全局单应性矩阵,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵;最后拼接单元705根据局部单应性矩阵对待拼接图像进行拼接,得到拼接后的图像。本申请首先根据重叠区域之间的特征点对计算重叠区域之间的全局单应性矩阵,该全局单应性矩阵可以对待拼接图像进行粗拼接,然后再在全局单应性矩阵的基础上根据特征线对计算重叠子区域之间的局部单应性矩阵,从而实现待拼接图像的细拼接,故本方案可以提高图像的拼接效果。

    以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

    图9示出了本发明实施例提供的终端的具体结构框图,该终端可以用于实施上述实施例中提供的图像拼接方法。该终端1200可以为移动终端,例如智能手机或平板电脑等。

    如图9所示,终端1200可以包括rf(radiofrequency,射频)电路110、包括有一个或一个以上(图中仅示出一个)计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上(图中仅示出一个)处理核心的处理器180以及电源190等部件。本领域技术人员可以理解,图9中示出的终端1200结构并不构成对终端1200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

    rf电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。rf电路110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。rf电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(globalsystemformobilecommunication,gsm)、增强型移动通信技术(enhanceddatagsmenvironment,edge),宽带码分多址技术(widebandcodedivisionmultipleaccess,wcdma),码分多址技术(codedivisionaccess,cdma)、时分多址技术(timedivisionmultipleaccess,tdma),无线保真技术(wirelessfidelity,wi-fi)(如美国电气和电子工程师协会标准ieee802.11a,ieee802.11b,ieee802.11g和/或ieee802.11n)、网络电话(voiceoverinternetprotocol,voip)、全球微波互联接入(worldwideinteroperabilityformicrowaveaccess,wi-max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。

    存储器120可用于存储软件程序以及模块,如上述实施例中图像拼接方法的程序指令/模块,处理器180通过运行存储在存储器120内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现图像拼接的功能。存储器120可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器120可进一步包括相对于处理器180远程设置的存储器,这些远程存储器可以通过网络连接至终端1200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

    输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

    显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端1200的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图9中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

    终端1200还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端1200移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1200还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

    音频电路160、扬声器161,传声器162可提供用户与终端1200之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经rf电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端1200的通信。

    终端1200通过传输模块170(例如wi-fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了传输模块170,但是可以理解的是,其并不属于终端1200的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

    处理器180是终端1200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端1200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;在一些实施例中,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

    终端1200还包括给各个部件供电的电源190(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

    尽管未示出,终端1200还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,终端1200的显示单元140是触摸屏显示器,终端1200还包括有存储器120,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器120中,且经配置以由一个或者一个以上处理器180执行一个或者一个以上程序包含用于进行以下操作的指令:

    分别获取多张待拼接图像中的重叠区域,所述重叠区域为所述待拼接图像之间的重叠区域;

    根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵;

    对所述重叠区域进行网格化处理,得到多个重叠子区域;

    基于所述全局单应性矩阵,根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵;

    根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像。

    在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图像拼接方法的详细描述,此处不再赘述。

    本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

    为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种图像拼接方法中的步骤。例如,该指令可以执行如下步骤:

    分别获取多张待拼接图像中的重叠区域,所述重叠区域为所述待拼接图像之间的重叠区域;

    根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵;

    对所述重叠区域进行网格化处理,得到多个重叠子区域;

    基于所述全局单应性矩阵,根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵;

    根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像。

    以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

    其中,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

    由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种图像拼接方法中的步骤,因此,可以实现本申请实施例所提供的任一种图像拼接方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

    以上对本申请实施例所提供的一种图像拼接方法、装置、终端及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。


    技术特征:

    1.一种图像拼接方法,其特征在于,包括:

    分别获取多张待拼接图像中的重叠区域,所述重叠区域为所述待拼接图像之间的重叠区域;

    根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵;

    对所述重叠区域进行网格化处理,得到多个重叠子区域;

    基于所述全局单应性矩阵,根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵;

    根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像。

    2.根据权利要求1所述的方法,其特征在于,所述分别获取多张待拼接图像中的重叠区域,包括:

    获取所述多张待拼接图像;

    对所述多张待拼接图像进行图像尺寸统一化处理,得到处理后的多张待拼接图像;

    分别从所述处理后的多张待拼接图像中提取所述重叠区域。

    3.根据权利要求1所述的方法,其特征在于,所述根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵之前,所述方法还包括:

    分别对所述重叠区域进行特征点检测,获取每个所述重叠区域的特征点;

    根据预设的偏移角度对所述特征点进行第一剔除处理,得到处理后的特征点;

    根据预设的特征点数量对所述处理后的特征点进行第二剔除处理,得到所述特征点对。

    4.根据权利要求1所述的方法,其特征在于,所述根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵之前,所述方法还包括:

    分别对所述重叠区域进行特征线检测,获取每个所述重叠区域的特征线;

    在所述重叠子区域中对所述特征线进行线匹配,得到所述特征线对。

    5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像之后,所述方法还包括:

    对所述拼接后的图像进行图像融合处理,得到融合后的图像。

    6.根据权利要求5所述的方法,其特征在于,所述对所述拼接后的图像进行图像融合处理,包括:

    对所述拼接后的图像中的重叠区域进行直线约束调整处理;和/或,

    对所述拼接后的图像进行尺度归一化矫正处理;和/或,

    对所述拼接后的图像中的重叠区域边缘线进行缝合线融合处理。

    7.根据权利要求6所述的方法,其特征在于,所述对所述拼接后的图像进行投影变换处理,包括:

    对所述拼接后的图像中的非重叠区域进行全局投影变换处理;以及,

    对所述拼接后的图像中的重叠区域进行局部投影变换处理。

    8.一种图像拼接装置,其特征在于,包括:

    获取单元,用于分别获取多张待拼接图像中的重叠区域,所述重叠区域为所述待拼接图像之间的重叠区域;

    第一确定单元,用于根据所述重叠区域之间的特征点对确定所述重叠区域之间的全局单应性矩阵;

    处理单元,用于对所述重叠区域进行网格化处理,得到多个重叠子区域;

    第二确定单元,用于基于所述全局单应性矩阵,根据所述重叠子区域之间的特征线对确定所述重叠子区域之间的局部单应性矩阵;

    拼接单元,用于根据所述局部单应性矩阵对所述待拼接图像进行拼接,得到拼接后的图像。

    9.一种终端,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至7任一项所述的图像拼接方法。

    10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至7任一项所述的图像拼接方法。

    技术总结
    本申请实施例公开了一种图像拼接方法、装置、终端及计算机可读存储介质。本申请实施例中,分别获取多张待拼接图像中的重叠区域;然后根据重叠区域之间的特征点对确定重叠区域之间的全局单应性矩阵;对重叠区域进行网格化处理,得到多个重叠子区域;再基于上述的全局单应性矩阵,根据重叠子区域之间的特征线对确定重叠子区域之间的局部单应性矩阵;最后根据局部单应性矩阵对待拼接图像进行拼接,得到拼接后的图像。本申请首先根据重叠区域之间的特征点对计算重叠区域之间的全局单应性矩阵,再在全局单应性矩阵的基础上根据特征线对计算重叠子区域之间的局部单应性矩阵,从而实现待拼接图像的细拼接,故本方案可以提高图像的拼接效果。

    技术研发人员:郝冰涛;熊君君;张伟华;连自锋
    受保护的技术使用者:顺丰科技有限公司
    技术研发日:2019.09.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16800.html

    最新回复(0)