首页> 中国专利> 拼接图像的色差消除方法、装置、设备和可读存储介质

拼接图像的色差消除方法、装置、设备和可读存储介质

摘要

本申请涉及一种拼接图像的色差消除方法、装置、设备和可读存储介质。所述方法包括:获取基于至少两张原始图像拼接所得的拼接图像;确定所述拼接图像中的过渡区域;所述过渡区域包含所述拼接图像中的重叠区域和至少一部分非重叠区域;基于所确定的过渡区域,对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像,得到色差消除后的拼接图像。采用本方法能够消除拼接图像的色差。

著录项

  • 公开/公告号CN112233154A

    专利类型发明专利

  • 公开/公告日2021-01-15

    原文格式PDF

  • 申请/专利权人 影石创新科技股份有限公司;

    申请/专利号CN202011202954.2

  • 发明设计人 袁文亮;谢朝毅;高飞;

    申请日2020-11-02

  • 分类号G06T7/33(20170101);G06T7/90(20170101);G06T5/40(20060101);G06T5/50(20060101);

  • 代理机构44224 广州华进联合专利商标代理有限公司;

  • 代理人吴平

  • 地址 518101 广东省深圳市宝安区新安街道海秀路23号龙光世纪大厦A栋6楼601603605

  • 入库时间 2023-06-19 09:35:27

说明书

技术领域

本申请涉及图像处理技术领域,特别是涉及一种拼接图像的色差消除方法、装置、设备和可读存储介质。

背景技术

图像拼接是指把有重合区域的一系列图片拼接成一幅宽视角的、与原始图像接近且失真小、没有明显缝合线的拼接图像,以满足人们浏览全景图像的需求。目前,已经有许多图像拼接算法可以将同一场景图片中的重叠部分提取出来并且快速的拼接成为一幅全景图片。例如使用小波进行多尺度的图像拼接算法,以及采取梯度域的图像拼接算法。

然而,传统的图像拼接算法只对所得的拼接图像的重叠区域进行融合,当进行拼接的原始图像亮度差异较大时,传统的图像拼接算法所得到的拼接图像要么无法完全消除亮度差异,要么就是所得到的拼接图像存在人为痕迹,比如在视频中存在闪烁。

发明内容

基于此,有必要针对上述技术问题,提供一种拼接图像的色差消除方法、装置、设备和可读存储介质。

一种拼接图像的色差消除方法,所述方法包括:

获取基于至少两张原始图像拼接所得的拼接图像;

确定所述拼接图像中的过渡区域;所述过渡区域包含所述拼接图像中的重叠区域和至少一部分非重叠区域;

基于所确定的过渡区域,对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,所述基于所确定的过渡区域,对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像,包括:

计算所述过渡区域中各像素点对应的像素增益;

根据所述像素增益计算所述过渡区域中各所述像素点对应的调色比值;

基于所述调色比值对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,所述计算所述过渡区域中各像素点对应的像素增益,包括:

构建覆盖所述过渡区域的三角网格;

计算各所述三角网格的顶点对应的像素点的像素增益;

根据各所述三角网格的顶点对应的像素点的像素增益计算各所述三角网格内各像素点的像素增益,得到所述过渡区域中各像素点对应的像素增益。

在一个实施例中,所述构建覆盖所述过渡区域的三角网格,包括:

从所述过渡区域中的重叠区域中选取至少一个像素点作为第一控制点;

从所述过渡区域中的非重叠区域的边界上选取至少一个像素点作为第二控制点;

在所述第一控制点和所述第二控制点之间的过渡区域中选择至少一个目标像素点,并基于所述第一控制点、所述第二控制点和所述目标像素点构建覆盖所述过渡区域的三角网格。

在一个实施例中,所述计算各所述三角网格的顶点对应的像素点的像素增益,包括:

获取属于所述重叠区域的各所述三角网格的顶点对应的像素点的权重和像素值;

根据各所述三角网格的顶点对应的像素点的权重和像素值计算各所述三角网格的顶点对应的像素点的像素增益;所述像素值包括所述重叠区域对应的所述至少两张原始图像的像素值。

在一个实施例中,所述获取属于所述重叠区域的各所述三角网格的顶点对应的像素点的权重,包括:

获取所述重叠区域中各像素点对应的各所述原始图像的像素值;

根据各所述原始图像的像素值计算各所述原始图像间的互相关系数;

根据所述互相关系数计算所述重叠区域中各像素点的权重;

从所述重叠区域中各像素点的权重中选取各所述三角网格的顶点对应的像素点的权重。

在一个实施例中,所述根据所述互相关系数计算所述重叠区域中各像素点的权重,包括:

从所述重叠区域中选择互相关系数大于互相关系数阈值的目标像素点;

计算各所述目标像素点所对应的原始图像间的像素差值;

对所述像素差值进行直方图统计,得到直方图统计结果;

获取所述重叠区域中各像素点对应的像素值;

根据所述直方图统计结果和所述重叠区域中各像素点对应的像素值,确定各所述重叠区域中各像素点对应的权重。

在一个实施例中,所述拼接图像为原始分辨率的拼接图像,所述确定所述拼接图像中的过渡区域之前,所述方法还包括:

对所述原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像;

所述确定所述拼接图像中的过渡区域,包括:

确定所述降分辨率后的拼接图像中的过渡区域;

所述基于所述调色比值对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像,包括:

基于所述调色比值生成调色比值图像;

对所述调色比值图像进行升分辨率处理,得到与所述原始分辨率的拼接图像大小相同的升分辨率调色比值图像;

基于所述升分辨率调色比值图像对所述原始分辨率的拼接图像进行色差消除处理,得到色差消除后的拼接图像。

一种拼接图像的色差消除装置,所述装置包括:

拼接图像获取模块,用于获取基于至少两张原始图像拼接所得的拼接图像;

过渡区域确定模块,用于确定所述拼接图像中的过渡区域;所述过渡区域包含所述拼接图像中的重叠区域和至少一部分非重叠区域;

色差消除模块,用于基于所确定的过渡区域,对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,所述色差消除模块包括像素增益计算模块、调色比值计算模块和色差消除处理模块,其中:

所述像素增益计算模块,用于计算所述过渡区域中各像素点对应的像素增益;

所述调色比值计算模块,用于根据所述像素增益计算所述过渡区域中各所述像素点对应的调色比值;

所述色差消除处理模块,用于基于所述调色比值对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,所述像素增益计算模块,还用于:

构建覆盖所述过渡区域的三角网格;

计算各所述三角网格的顶点对应的像素点的像素增益;

根据各所述三角网格的顶点对应的像素点的像素增益计算各所述三角网格内各像素点的像素增益,得到所述过渡区域中各像素点对应的像素增益。

在一个实施例中,所述像素增益计算模块,还用于:

从所述过渡区域中的重叠区域中选取至少一个像素点作为第一控制点;

从所述过渡区域中的非重叠区域的边界上选取至少一个像素点作为第二控制点;

在所述第一控制点和所述第二控制点之间的过渡区域中选择至少一个目标像素点,并基于所述第一控制点、所述第二控制点和所述目标像素点构建覆盖所述过渡区域的三角网格。

在一个实施例中,所述像素增益计算模块,还用于:

获取属于所述重叠区域的各所述三角网格的顶点对应的像素点的权重和像素值;

根据各所述三角网格的顶点对应的像素点的权重和像素值计算各所述三角网格的顶点对应的像素点的像素增益;所述像素值包括所述重叠区域对应的所述至少两张原始图像的像素值。

在一个实施例中,所述像素增益计算模块,还用于:

获取所述重叠区域中各像素点对应的各所述原始图像的像素值;

根据各所述原始图像的像素值计算各所述原始图像间的互相关系数;

根据所述互相关系数计算所述重叠区域中各像素点的权重;

从所述重叠区域中各像素点的权重中选取各所述三角网格的顶点对应的像素点的权重。

在一个实施例中,所述像素增益计算模块,还用于:

从所述重叠区域中选择互相关系数大于互相关系数阈值的目标像素点;

计算各所述目标像素点所对应的原始图像间的像素差值;

对所述像素差值进行直方图统计,得到直方图统计结果;

获取所述重叠区域中各像素点对应的像素值;

根据所述直方图统计结果和所述重叠区域中各像素点对应的像素值,确定各所述重叠区域中各像素点对应的权重。

在一个实施例中,所述拼接图像为原始分辨率的拼接图像,所述确定所述拼接图像中的过渡区域之前,所述装置还包括:

分辨率调整模块,用于对所述原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像;

所述过渡区域确定模块,还用于:

确定所述降分辨率后的拼接图像中的过渡区域;

所述色差消除处理模块,还用于:

基于所述调色比值生成调色比值图像;

对所述调色比值图像进行升分辨率处理,得到与所述原始分辨率的拼接图像大小相同的升分辨率调色比值图像;

基于所述升分辨率调色比值图像对所述原始分辨率的拼接图像进行色差消除处理,得到色差消除后的拼接图像。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。

上述拼接图像的色差消除方法、装置、设备和可读存储介质,通过获取基于至少两张原始图像拼接所得的拼接图像;确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域;其中,过渡区域中的至少一部分非重叠区域可以分布在重叠区域的一侧,也可以分布在重叠区域的两侧,基于所确定的过渡区域,对拼接图像进行色差消除处理,从而得到色差消除后的拼接图像,提高了对拼接图像的色差消除的有效率。

附图说明

图1为一个实施例中图像拼接的色差消除方法的应用环境图;

图2为一个实施例中图像拼接的色差消除方法的流程示意图;

图3为一个实施例中拼接图像示意图;

图4为一个实施例中构建三角网格的示意图;

图5为另一个实施例中图像拼接的色差消除方法的流程示意图;

图6为一个实施例中图像拼接的色差消除前后对比示意图;

图7为另一个实施例中图像拼接的色差消除前后对比示意图;

图8为一个实施例中图像拼接的色差消除装置的结构框图;

图9为一个实施例中计算机设备的内部结构图;

图10为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的拼接图像的色差消除方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。可以理解的是,该方法可以应用于终端也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。以该方法应用于终端进行举例说明,终端102获取基于至少两张原始图像拼接所得的拼接图像;确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域;基于所确定的过渡区域,对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种拼接图像的色差消除方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

S202,获取基于至少两张原始图像拼接所得的拼接图像。

其中,原始图像为用于进行图像拼接的图像,原始图像之间存在重叠区域,原始图像可以是不同时间、不同视角或者不同图像采集设备获得的源图像,还可以是对不同时间、不同视角或者不同图像采集设备获得的源图像进行预处理操作之后所得到的预处理后图像。拼接图像是将至少两张原始图像通过图像拼接算法(包括但不限于图像配准算法和图像融合算法)进行拼接与融合所得到的拼接图像。

图像配准是把相互之间有重叠区域的图像通过某种相似性度量初步进行匹配,是图像拼接的关键步骤,传统的图像配准算法例如SIFT特征提取与特征点匹配算法、A-KAZE特征提取与双向KNN的配准算法。图像融合主要是对图像配准过程中产生的拼接缝,或者环境变化产生光照不均等导致的过渡不连续现象进行消除,实现重叠区域的信息互补、去除多余信息,最终改善全景图质量,图像融合算法包括像素级、特征级、决策级等层次的图像融合算法。其中,像素级的图像融合算法包括平均值法、加权平均法、中值滤波法和多分辨率融合等。

在一个实施例中,终端在获取到至少两张原始图像之后,采用图像配准算法和图像融合算法对所获取的原始图像进行拼接与融合,得到拼接图像。其中,终端可通过内置的图像采集装置,或外置的与终端关联的图像采集装置采集源图像,并基于源图像确定用于图像拼接的原始图像,内置的图像采集装置可以是摄像头,外置的与终端关联的图像采集设备可以是普通相机或全景相机。

在一个实施例中,终端通过内置的图像采集装置,或外置的与终端关联的图像采集装置采集源图像之后,对所获取的至少两张原始图像进行预处理操作,得到预处理后图像,并将预处理后图像确定为用于图像拼接的原始图像,获取基于至少两张原始图像拼接所得的拼接图像。其中,预处理操作可以是图像去噪、图像几何校正、图像色彩校正等操作。

S204,确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域。

其中,重叠区域中包含有图像拼接后所产生的拼接缝。

在一个实施例中,终端在获取拼接图像之后,确定拼接图像中的重叠区域,并基于所确定的重叠区域确定过渡区域,所确定的过渡区域包含重叠区域和至少一部分非重叠区域。其中过渡区域的宽度可以是拼接图像宽度的预设比例,例如,过渡区域的宽度为拼接图像的宽度的1/3。

在一个实施例中,终端在获取到存在拼接缝的拼接图像之后,确定拼接图像中的过渡区域。具体地,终端在获取到存在拼接缝的拼接图像之后,确定拼接图像中的重叠区域和拼接缝的位置,并以拼接缝为中心线,选择拼接缝两侧的、预设宽度的区域作为拼接图像的过渡区域,过渡区域包含重叠区域和至少一部分非重叠区域。其中,预设宽度可以根据拼接图像的尺寸进行确定,例如拼接图像的宽度为W,则预设宽度d可以是d=aW,0<a<1。

图3示出了一个实施例中基于第一原始图像302a和第二原始图像302b拼接所得的拼接图像,采用传统的图像拼接算法不能够有效的消除原始图像之间的亮度差异,从而在拼接图像中产生拼接缝304,以拼接缝304为中心线,选择拼接缝两侧的、预设宽度的区域作为拼接图像的过渡区域。

S206,基于所确定的过渡区域,对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,终端在确定出过渡区域之后,可以采用alpha融合、多频段融合、泊松融合等方法,对所确定的过渡区域进行像素融合,以实现对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,S206具体包括以下步骤:

步骤1,计算过渡区域中各像素点对应的像素增益。

具体地,终端可以采用三角网格法计算过渡区域中各像素点对应的像素增益,其中,三角网格法是指构建覆盖过渡区域的三角网格,通过计算三角网格的顶点对应像素点的像素增益,实现计算过渡区域中各像素点对应的像素增益。

在一个实施例中,终端在确定出过渡区域之后,在过渡区域内选择部分像素点,并以所选择的像素点作为三角网格的顶点构建三角网格,其中构建三角网格的过程可以采用Delaunary三角剖分算法,具体实现Delaunary剖分的算法可以是分治算法、逐点插入法或三角网生成法中的任意一种。

在一个实施例中,终端构建覆盖过渡区域的三角网格,包括:从过渡区域中的重叠区域中选取至少一个像素点作为第一控制点;从过渡区域中的非重叠区域的边界上选取至少一个像素点作为第二控制点;在第一控制点和第二控制点之间的过渡区域中选择至少一个目标像素点,并基于第一控制点、第二控制点和目标像素点构建覆盖过渡区域的三角网格。

举例说明,图4示出了一个构建三角网格的示意图,如图4所示,首先确定用于构建三角网格的若干顶点,然后基于所确定的顶点构建三角网格。本申请实施例中在过渡区域中所选择的像素点,以便基于所选择的像素点构建三角网格。其中选择像素点的过程为,选择过渡区域左右边界上的像素点作为控制点,然后在左边界上的控制点和右边界上的控制点之间选取部分像素点;或者,从过渡区域中的重叠区域中选取至少一个像素点作为第一控制点;从过渡区域中的非重叠区域的边界上选取至少一个像素点作为第二控制点;在第一控制点和第二控制点之间的过渡区域中选择至少一个目标像素点,并基于第一控制点、第二控制点和目标像素点构建覆盖过渡区域的三角网格。

在一个实施例中,终端在构建覆盖整个过渡区域的三角网格之后,针对所构建的三角网格中的任意一个三角形,计算该三角形的顶点对应的像素点的像素增益,并根据三角形的顶点对应的像素点的像素增益计算各三角形内部和边上各像素点的像素增益,得到过渡区域中各像素点对应的像素增益。

步骤2,根据像素增益计算过渡区域中各像素点对应的调色比值。

其中,调色比值是过渡区域中每个像素点基于其所对应的像素增益而确定的比值。

在一个实施例中,终端在计算出过渡区域中各像素点所对应的像素增益之后,根据所计算出的像素增益,采用调色比值计算公式计算过渡区域中各像素点对应的调色比值,调色比值计算公式如下:

其中,R

步骤3,基于调色比值对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,终端在计算出过渡区域中各像素点对应的调色比值之后,按照各像素点对应的调色比值对拼接图像中的过渡区域进行色差消除处理,得到调色后的过渡区域,并使用调色后的过渡区域替换调色前的过渡区域,得到色差消除后的拼接图像。

在一个实施例中,终端在计算出过渡区域中各像素点对应的调色比值之后,获取拼接图像中非过渡区域的各像素点对应的调色比值(非过渡区域的调色比值为1),从而得到拼接图像中各像素点对应的调色比值,并按照拼接图像中各像素点对应的调色比值对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

具体地,色差消除处理时所采用公式为:

Dst

其中,Dst

上述实施例中,终端通过获取基于至少两张原始图像拼接所得的拼接图像;确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域;计算过渡区域中各像素点对应的像素增益;根据像素增益计算过渡区域中各像素点对应的调色比值;基于调色比值对拼接图像进行色差消除处理,从而得到色差消除后的拼接图像,提高了对拼接图像的色差消除的有效率。

在一个实施例中,终端计算过渡区域中各像素点对应的像素增益,包括:构建覆盖过渡区域的三角网格,计算各三角网格的顶点对应的像素点的像素增益,根据各三角网格的顶点对应的像素点的像素增益计算各三角网格内各像素点的像素增益,得到过渡区域中各像素点对应的像素增益。

在一个实施例中,终端计算各三角网格的顶点对应的像素点的像素增益包括:获取过渡区域中属于重叠区域的各三角网格的顶点对应的像素点的权重和像素值,根据各三角网格的顶点对应的像素点的权重和像素值计算各三角网格的顶点对应的像素点的像素增益,像素值包括重叠区域对应的至少两张原始图像的像素值。

以基于两张原始图像拼接而成的拼接图像为例进行说明。两张原始图像分别为第一原始图像和第二原始图像,终端在获取过渡区域中属于重叠区域的各三角网格的顶点对应的像素点的权重和像素值之后,通过像素增益计算公式计算三角网格的顶点对应的像素点的像素增益,具体地,像素增益计算公式如下:

其中,针对任意一个三角网格的顶点,I

具体地,像素增益计算公式可以采用共轭梯度算法(conjugate gradient,CG)求解,共轭梯度算法在最优化问题中备受关注,有两层用途,一是可以求解线性方程Ax=b;二是可以求解最优化问题。相对于最速下降法,共轭梯度算法没有额外的矩阵存储并且收敛速度比最速下降法更快。求解过程可参考下述过程,例如:

2(A

(A

其中,A

上述实施例中,终端通过构建覆盖过渡区域的三角网格,计算各三角网格的顶点对应的像素点的像素增益,根据各三角网格的顶点对应的像素点的像素增益计算各三角网格内各像素点的像素增益,得到过渡区域中各像素点对应的像素增益,从而能够保证对过渡区域中的像素点的调整后像素值是平滑过渡的,进而得到色差消除后的拼接图像,避免拼接图像的重叠区域和其他区域色差较大导致拼接图像失真。

在一个实施例中,终端获取属于重叠区域的各三角网格的顶点对应的像素点的权重的过程包括:获取重叠区域中各像素点对应的各原始图像的像素值;根据各原始图像的像素值计算各原始图像间的互相关系数;根据互相关系数计算重叠区域中各像素点的权重;从重叠区域中各像素点的权重中选取各三角网格的顶点对应的像素点的权重。

其中,互相关系数(NCC)表示原始图像之间的匹配程度。NCC(normalized crosscorrelation)算法,归一化互相关匹配法,是基于图像灰度信息的匹配方法。

以基于两张原始图像拼接而成的拼接图像为例对互相关系数的计算进行说明,两张原始图像分别为第一原始图像和第二原始图像,终端在获取重叠区域中各像素点对应的第一原始图像的像素值和第二原始图像的像素值以后,基于第一原始图像的像素值和第二原始图像的像素值采用NCC算法,计算重叠区域中各像素点对应的第一原始图像和第二原始图像之间的互相关系数,互相关系数计算公式如下:

其中,Ncc是处于过渡区域中重叠区域的像素点所对应的第一原始图像和第二原始图像之间的互相关系数,I

上述实施例中,终端通过获取重叠区域中各像素点对应的各原始图像的像素值,根据各原始图像的像素值计算各原始图像间的互相关系数,根据互相关系数计算重叠区域中各像素点的权重,从而得到各三角网格的顶点对应的像素点的权重,进而得到过渡区域中各像素点对应的像素增益,实现对拼接图像的色差消除处理,避免拼接图像的重叠区域和其他区域色差较大导致拼接图像失真。

在一个实施例中,终端根据互相关系数计算重叠区域中各像素点的权重包括:从重叠区域中选择互相关系数大于互相关系数阈值的目标像素点;计算各目标像素点所对应的原始图像间的像素差值;对像素差值进行直方图统计,得到直方图统计结果;获取重叠区域中各像素点对应的像素值;根据直方图统计结果和重叠区域中各像素点对应的像素值,确定各重叠区域中各像素点对应的权重。其中,所选择的目标像素点是重叠区域在图像拼接时,所对应原始图像之间匹配程度较高的像素点。

具体地,终端在计算出重叠区域的像素点所对应的第一原始图像和第二原始图像之间的互相关系数Ncc之后,从重叠区域中选取互相关系数Ncc大于互相关系数阈值m的目标像素点,并针对各目标像素点计算其所对应的原始图像之间的像素差值,并根据目标像素点对应的像素差值确定各目标像素点对应的权重。其中目标像素点的差值计算公式如下:

diff=I

其中,diff是目标像素点对应的第一原始图像和第二原始图像之间的像素差值,I

具体地,终端在计算出目标像素点对应的像素差值之后,对像素差值进行直方图统计,得到直方图统计结果,并从直方图统计结果中获取预设比例(例如80%)的像素差值统计数据,确定该预设比例的像素差值统计数据所对应的最大像素差值和最小像素差值,然后按照预设扩充比例对最大像素差值和最小像素差值进行调整,得到扩充最大像素差值和扩充最小像素差值,并根据最大像素差值、最小像素差值、扩充最大像素差值、扩充最小像素差值以及各目标像素点对应的像素值,计算各目标像素点对应的权重。例如,最大像素差值和最小像素差值分别为p和q,预设扩充比例为10%,则对应的扩充最大像素差值为(1+10%)p,扩充最小像素差值为(1-10%)q。权重计算公式如下:

其中,Weight是重叠区域中目标像素点对应的权重,I是重叠区域中目标像素点的像素值,minThresh是最小像素差值,maxThresh是最大像素差值,threshBot是扩充最小像素差值,threshTop是扩充最大像素差值。

上述实施例中,终端通过从重叠区域中选择互相关系数大于互相关系数阈值的目标像素点,并计算各目标像素点所对应的权重,从而保证所选取的目标像素点对应的原始图像的像素点之间的匹配程度较高,进而使得基于目标像素点的权重所计算出的过渡区域中各像素点的像素增益能够实现更好的色差消除效果,避免拼接图像的重叠区域和其他区域色差较大导致拼接图像失真。

在一个实施例中,终端所获取的拼接图像为原始分辨率的拼接图像,终端在确定拼接图像中的过渡区域之前,还可以对原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像,并确定降分辨率后的拼接图像中的过渡区域,然后执行S206中的步骤1和步骤2,并基于步骤2中所计算的调色比值生成调色比值图像,对调色比值图像进行升分辨率处理,得到与原始分辨率的拼接图像大小相同的升分辨率调色比值图像,基于升分辨率调色比值图像对原始分辨率的拼接图像进行色差消除处理,得到色差消除后的拼接图像。降分辨率处理过程具体为:将原始分辨率的拼接图像降分辨率到预设大小。

在一个实施例中,终端在采用传统图像拼接算法对原始图像进行拼接得到拼接图像之前,可以对各原始图像进行降分辨率处理,并对降分辨率处理之后的原始图像进行拼接,得到降分辨率后的拼接图像,并确定降分辨率后的拼接图像中的过渡区域,然后执行S206中的步骤1和步骤2,并基于步骤2中所计算的调色比值生成调色比值图像,对调色比值图像进行升分辨率处理,得到与原始分辨率的拼接图像大小相同的升分辨率调色比值图像,基于升分辨率调色比值图像对原始分辨率的拼接图像进行色差消除处理,得到色差消除后的拼接图像。例如以两张6K需要拼接的全景图为例,降分辨率到200*100,然后再对该两张分辨率为200*100的全景图像进行拼接。

上述实施例中,终端通过对原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像,再对降分辨率的图像采用三角网格方法计算像素增益,所述采用降分辨率和/或采用三角网格方法计算像素增益可以提高对拼接图像进行色差消除处理的效率。

在一个实施例中,如图5所示,还提供了一种拼接图像的色差消除方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

S502,获取基于至少两张原始图像拼接所得的拼接图像。

S504,确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域。

S506,构建覆盖过渡区域的三角网格。

S508,获取重叠区域中各像素点对应的各原始图像的像素值。

S510,从重叠区域中选择互相关系数大于互相关系数阈值的目标像素点。

S512,计算各目标像素点所对应的原始图像间的像素差值。

S514,对像素差值进行直方图统计,得到直方图统计结果。

S516,获取重叠区域中各像素点对应的像素值。

S518,根据直方图统计结果和重叠区域中各像素点对应的像素值,确定各重叠区域中各像素点对应的权重。

S520,根据互相关系数计算重叠区域中各像素点的权重。

S522,从重叠区域中各像素点的权重中选取各三角网格的顶点对应的像素点的权重。

S524,获取属于重叠区域的各三角网格的顶点对应的像素点像素值。

S526,根据各三角网格的顶点对应的像素点的权重和像素值计算各三角网格的顶点对应的像素点的像素增益。

S528,根据各三角网格的顶点对应的像素点的像素增益计算各三角网格内各像素点的像素增益,得到过渡区域中各像素点对应的像素增益。

S530,根据像素增益计算过渡区域中各像素点对应的调色比值。

S532,基于调色比值对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

举例说明,图6示出了对图3所示的包含拼接缝的拼接图像采用上述拼接图像的色差消除方法处理所得到的色差消除后的拼接图像,从图6中可以看出,经过上述拼接图像的色差消除方法处理所得到的色差消除后的拼接图像没有拼接缝,且重叠区域和非重叠区域之间过渡更加自然;图7示出了一个实际的例子中,采用背靠背的双鱼眼镜头拍摄的第一鱼眼图像702a和第二鱼眼图像702b,采用传统的图像拼接算法得到包含有两条拼接缝的鱼眼拼接图像704,采用上述拼接图像的色差消除方法处理鱼眼拼接图像704得到的色差消除后的鱼眼拼接图像706。

应该理解的是,虽然图2和5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种拼接图像的色差消除装置,包括:拼接图像获取模块802、过渡区域确定模块804、色差消除模块806,其中:

拼接图像获取模块802,用于获取基于至少两张原始图像拼接所得的拼接图像;

过渡区域确定模块804,用于确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域;

色差消除模块806,用于基于所确定的过渡区域,对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,色差消除模块806包括:像素增益计算模块、调色比值计算模块和色差消除处理模块,其中:

像素增益计算模块,用于计算过渡区域中各像素点对应的像素增益;

调色比值计算模块,用于根据像素增益计算过渡区域中各像素点对应的调色比值;

色差消除处理模块,用于基于调色比值对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

上述实施例中,终端通过获取基于至少两张原始图像拼接所得的拼接图像;确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域;计算过渡区域中各像素点对应的像素增益;根据像素增益计算过渡区域中各像素点对应的调色比值;基于调色比值对拼接图像进行色差消除处理,从而得到色差消除后的拼接图像,提高了对拼接图像的色差消除的有效率。

在一个实施例中,像素增益计算模块,还用于:

构建覆盖过渡区域的三角网格;

计算各三角网格的顶点对应的像素点的像素增益;

根据各三角网格的顶点对应的像素点的像素增益计算各三角网格内各像素点的像素增益,得到过渡区域中各像素点对应的像素增益。

在一个实施例中,像素增益计算模块,还用于:

从过渡区域中的重叠区域中选取至少一个像素点作为第一控制点;

从过渡区域中的非重叠区域的边界上选取至少一个像素点作为第二控制点;

在第一控制点和第二控制点之间的过渡区域中选择至少一个目标像素点,并基于第一控制点、第二控制点和目标像素点构建覆盖过渡区域的三角网格。

在一个实施例中,像素增益计算模块,还用于:

获取属于重叠区域的各三角网格的顶点对应的像素点的权重和像素值;

根据各三角网格的顶点对应的像素点的权重和像素值计算各三角网格的顶点对应的像素点的像素增益;像素值包括重叠区域对应的至少两张原始图像的像素值。

上述实施例中,终端通过构建覆盖过渡区域的三角网格,计算各三角网格的顶点对应的像素点的像素增益,根据各三角网格的顶点对应的像素点的像素增益计算各三角网格内各像素点的像素增益,得到过渡区域中各像素点对应的像素增益,从而能够保证对过渡区域中的像素点的调整后像素值是平滑过渡的,进而得到色差消除后的拼接图像,避免拼接图像的重叠区域和其他区域色差较大导致拼接图像失真。

在一个实施例中,像素增益计算模块,还用于:

获取重叠区域中各像素点对应的各原始图像的像素值;

根据各原始图像的像素值计算各原始图像间的互相关系数;

根据互相关系数计算重叠区域中各像素点的权重;

从重叠区域中各像素点的权重中选取各三角网格的顶点对应的像素点的权重。

上述实施例中,终端通过获取重叠区域中各像素点对应的各原始图像的像素值,根据各原始图像的像素值计算各原始图像间的互相关系数,根据互相关系数计算重叠区域中各像素点的权重,从而得到各三角网格的顶点对应的像素点的权重,进而得到过渡区域中各像素点对应的像素增益,实现对拼接图像的色差消除处理,避免拼接图像的重叠区域和其他区域色差较大导致拼接图像失真。

在一个实施例中,像素增益计算模块,还用于:

从重叠区域中选择互相关系数大于互相关系数阈值的目标像素点;

计算各目标像素点所对应的原始图像间的像素差值;

对像素差值进行直方图统计,得到直方图统计结果;

获取重叠区域中各像素点对应的像素值;

根据直方图统计结果和重叠区域中各像素点对应的像素值,确定各重叠区域中各像素点对应的权重。

上述实施例中,终端通过从重叠区域中选择互相关系数大于互相关系数阈值的目标像素点,并计算各目标像素点所对应的权重,从而保证所选取的目标像素点对应的原始图像的像素点之间的匹配程度较高,进而使得基于目标像素点的权重所计算出的过渡区域中各像素点的像素增益能够实现更好的色差消除效果,避免拼接图像的重叠区域和其他区域色差较大导致拼接图像失真。

在一个实施例中,拼接图像为原始分辨率的拼接图像,确定拼接图像中的过渡区域之前,装置还包括:分辨率调整模块,其中:

分辨率调整模块,用于对原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像;

过渡区域确定模块804,还用于:

确定降分辨率后的拼接图像中的过渡区域;

色差消除处理模块,还用于:

基于调色比值生成调色比值图像;

对调色比值图像进行升分辨率处理,得到与原始分辨率的拼接图像大小相同的升分辨率调色比值图像;

基于升分辨率调色比值图像对原始分辨率的拼接图像进行色差消除处理,得到色差消除后的拼接图像。

上述实施例中,终端通过对原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像,在对降分辨率的图像进行像素增益和调色比值的计算之后,从而能够减少像素增益和调色比值的计算的时间,进而提高对拼接图像进行色差消除处理的效率。

关于拼接图像的色差消除装置的具体限定可以参见上文中对于拼接图像的色差消除方法的限定,在此不再赘述。上述拼接图像的色差消除装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储拼接图像数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种拼接图像的色差消除方法。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种拼接图像的色差消除方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9或10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下的步骤:获取基于至少两张原始图像拼接所得的拼接图像;确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域;基于所确定的过渡区域,对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,计算机程序被处理器执行基于所确定的过渡区域,对拼接图像进行色差消除处理,得到色差消除后的拼接图像的步骤时,使得处理器具体执行以下的步骤:计算过渡区域中各像素点对应的像素增益;根据像素增益计算过渡区域中各像素点对应的调色比值;基于调色比值对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,计算机程序被处理器执行计算过渡区域中各像素点对应的像素增益的步骤时,使得处理器具体执行以下的步骤:构建覆盖过渡区域的三角网格;计算各三角网格的顶点对应的像素点的像素增益;根据各三角网格的顶点对应的像素点的像素增益计算各三角网格内各像素点的像素增益,得到过渡区域中各像素点对应的像素增益。

在一个实施例中,计算机程序被处理器执行构建覆盖过渡区域的三角网格的步骤时,使得处理器具体执行以下的步骤:从过渡区域中的重叠区域中选取至少一个像素点作为第一控制点;从过渡区域中的非重叠区域的边界上选取至少一个像素点作为第二控制点;在第一控制点和第二控制点之间的过渡区域中选择至少一个目标像素点,并基于第一控制点、第二控制点和目标像素点构建覆盖过渡区域的三角网格。

在一个实施例中,计算机程序被处理器执行计算各三角网格的顶点对应的像素点的像素增益的步骤时,使得处理器具体执行以下的步骤:获取属于重叠区域的各三角网格的顶点对应的像素点的权重和像素值;根据各三角网格的顶点对应的像素点的权重和像素值计算各三角网格的顶点对应的像素点的像素增益;像素值包括重叠区域对应的至少两张原始图像的像素值。

在一个实施例中,计算机程序被处理器执行获取属于重叠区域的各三角网格的顶点对应的像素点的权重的步骤时,使得处理器具体执行以下的步骤:获取重叠区域中各像素点对应的各原始图像的像素值;根据各原始图像的像素值计算各原始图像间的互相关系数;根据互相关系数计算重叠区域中各像素点的权重;从重叠区域中各像素点的权重中选取各三角网格的顶点对应的像素点的权重。

在一个实施例中,计算机程序被处理器执行根据互相关系数计算重叠区域中各像素点的权重的步骤时,使得处理器具体执行以下的步骤:从重叠区域中选择互相关系数大于互相关系数阈值的目标像素点;计算各目标像素点所对应的原始图像间的像素差值;对像素差值进行直方图统计,得到直方图统计结果;获取重叠区域中各像素点对应的像素值;根据直方图统计结果和重叠区域中各像素点对应的像素值,确定各重叠区域中各像素点对应的权重。

在一个实施例中,计算机程序被处理器执行拼接图像为原始分辨率的拼接图像,确定拼接图像中的过渡区域的步骤之前,使得处理器还执行以下的步骤:对原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像;计算机程序被处理器执行确定拼接图像中的过渡区域的步骤时,使得处理器具体执行以下的步骤:确定降分辨率后的拼接图像中的过渡区域;计算机程序被处理器执行基于所述调色比值对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像的步骤时,使得处理器具体执行以下步骤:基于调色比值生成调色比值图像;对调色比值图像进行升分辨率处理,得到与原始分辨率的拼接图像大小相同的升分辨率调色比值图像;基于升分辨率调色比值图像对原始分辨率的拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下的步骤:获取基于至少两张原始图像拼接所得的拼接图像;确定拼接图像中的过渡区域;过渡区域包含拼接图像中的重叠区域和至少一部分非重叠区域;基于所确定的过渡区域,对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,计算机程序被处理器执行基于所确定的过渡区域,对拼接图像进行色差消除处理,得到色差消除后的拼接图像的步骤时,使得处理器具体执行以下的步骤:计算过渡区域中各像素点对应的像素增益;根据像素增益计算过渡区域中各像素点对应的调色比值;基于调色比值对拼接图像进行色差消除处理,得到色差消除后的拼接图像。

在一个实施例中,计算机程序被处理器执行计算过渡区域中各像素点对应的像素增益的步骤时,使得处理器具体执行以下的步骤:构建覆盖过渡区域的三角网格;计算各三角网格的顶点对应的像素点的像素增益;根据各三角网格的顶点对应的像素点的像素增益计算各三角网格内各像素点的像素增益,得到过渡区域中各像素点对应的像素增益。

在一个实施例中,计算机程序被处理器执行构建覆盖过渡区域的三角网格的步骤时,使得处理器具体执行以下的步骤:从过渡区域中的重叠区域中选取至少一个像素点作为第一控制点;从过渡区域中的非重叠区域的边界上选取至少一个像素点作为第二控制点;在第一控制点和第二控制点之间的过渡区域中选择至少一个目标像素点,并基于第一控制点、第二控制点和目标像素点构建覆盖过渡区域的三角网格。

在一个实施例中,计算机程序被处理器执行计算各三角网格的顶点对应的像素点的像素增益的步骤时,使得处理器具体执行以下的步骤:获取属于重叠区域的各三角网格的顶点对应的像素点的权重和像素值;根据各三角网格的顶点对应的像素点的权重和像素值计算各三角网格的顶点对应的像素点的像素增益;像素值包括重叠区域对应的至少两张原始图像的像素值。

在一个实施例中,计算机程序被处理器执行获取属于重叠区域的各三角网格的顶点对应的像素点的权重的步骤时,使得处理器具体执行以下的步骤:获取重叠区域中各像素点对应的各原始图像的像素值;根据各原始图像的像素值计算各原始图像间的互相关系数;根据互相关系数计算重叠区域中各像素点的权重;从重叠区域中各像素点的权重中选取各三角网格的顶点对应的像素点的权重。

在一个实施例中,计算机程序被处理器执行根据互相关系数计算重叠区域中各像素点的权重的步骤时,使得处理器具体执行以下的步骤:从重叠区域中选择互相关系数大于互相关系数阈值的目标像素点;计算各目标像素点所对应的原始图像间的像素差值;对像素差值进行直方图统计,得到直方图统计结果;获取重叠区域中各像素点对应的像素值;根据直方图统计结果和重叠区域中各像素点对应的像素值,确定各重叠区域中各像素点对应的权重。

在一个实施例中,计算机程序被处理器执行拼接图像为原始分辨率的拼接图像,确定拼接图像中的过渡区域的步骤之前,使得处理器还执行以下的步骤:对原始分辨率的拼接图像进行降分辨率处理,得到降分辨率后的拼接图像;计算机程序被处理器执行确定拼接图像中的过渡区域的步骤时,使得处理器具体执行以下的步骤:确定降分辨率后的拼接图像中的过渡区域;计算机程序被处理器执行基于所述调色比值对所述拼接图像进行色差消除处理,得到色差消除后的拼接图像的步骤时,使得处理器具体执行以下步骤:基于调色比值生成调色比值图像;对调色比值图像进行升分辨率处理,得到与原始分辨率的拼接图像大小相同的升分辨率调色比值图像;基于升分辨率调色比值图像对原始分辨率的拼接图像进行色差消除处理,得到色差消除后的拼接图像。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号