CN106997579B - 图像拼接的方法和装置 - Google Patents
图像拼接的方法和装置 Download PDFInfo
- Publication number
- CN106997579B CN106997579B CN201610053734.5A CN201610053734A CN106997579B CN 106997579 B CN106997579 B CN 106997579B CN 201610053734 A CN201610053734 A CN 201610053734A CN 106997579 B CN106997579 B CN 106997579B
- Authority
- CN
- China
- Prior art keywords
- image
- sub
- optical flow
- target
- coordinate
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 230000003287 optical effect Effects 0.000 claims abstract description 257
- 239000013598 vector Substances 0.000 claims abstract description 156
- 230000009466 transformation Effects 0.000 claims description 72
- 230000000007 visual effect Effects 0.000 claims description 33
- 230000007812 deficiency Effects 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000003702 image correction Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/14—Transformations for image registration, e.g. adjusting or mapping for alignment of images
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供一种图像拼接的方法和装置,该方法包括:获取待拼接的第一图像和第二图像,该第一图像与该第二图像之间具有重叠区域;获取目标子图像,该目标子图像包括第一子图像或第二子图像;根据目标光流矢量,获取该目标子图像对应在中间视角的中间视角图像,该中间视角为该第一图像的视角与该第二图像的视角之间的视角,该目标光流矢量包括从该第一子图像到该第二子图像的第一光流矢量,或从该第二子图像到该第一子图像的第二光流矢量;将该第一图像内除该第一子图像之外的图像、该中间视角图像、该第二图像内除该第二子图像之外的图像进行拼接,获得该第一图像与该第二图像的拼接图像。能够有效减少拼接图像中存在重影或缺失的现象。
Description
技术领域
本发明实施例涉及图像处理领域,并且更具体地,涉及一种图像拼接的方法和装置。
背景技术
随着大尺寸显示器迅速进入到人们的日常生活,随之而来的问题是如何获取宽视角、高分辨率的图像或视频数据,例如,在日常生活图像的全景拍摄、卫星图像及航拍图像的合成或编辑过程中,都需要将不同视角的图像,组合成一幅高分辨率、大视角的拼接图像。
图像拼接技术通过将一组互相具有重叠区域的图像,经过拼接和融合处理,组合成一幅高分辨率、大视角的拼接图像,组合后的图像包含拼接前全部图像的所有信息。
现有技术中,通常采用加权平均值法实现图像拼接,但是在采用加权平均值法进行拼接时,如果重叠区域内的物体有细微的位置变化或者有明显的前景遮挡,在拼接图像中,拼缝附近物体可能出现重复或者缺失。
发明内容
本发明实施例提供一种图像拼接的方法和装置,能够有效减少拼接图像中存在重影或缺失的现象。
第一方面提供了一种图像拼接的方法,所述方法包括:
获取待拼接的第一图像和第二图像,所述第一图像与所述第二图像之间具有重叠区域;
获取目标子图像,所述目标子图像包括第一子图像或第二子图像,所述第一子图像为所述第一图像内位于所述重叠区域的图像,所述第二子图像为所述第二图像内位于所述重叠区域的图像;
根据目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,所述中间视角为所述第一图像的视角与所述第二图像的视角之间的视角,所述目标光流矢量包括从所述第一子图像到所述第二子图像的第一光流矢量,或从所述第二子图像到所述第一子图像的第二光流矢量;
将所述第一图像内除所述第一子图像之外的图像、所述中间视角图像、所述第二图像内除所述第二子图像之外的图像进行拼接,获得所述第一图像与所述第二图像的拼接图像。
应理解,第一子图像与第一图像为同一视角,第二子图像与第二图像为同一视角,因此,在本发明中,也可根据目标光流矢量,获取所述目标子图像对应在所述第一子图像的视角与所述第二子图像的视角之间的中间视角的中间视角图像。
因此,在本发明中,首先,通过从待拼接的两张图像的位于重叠区域内的第一子图像与第二子图像中确定目标子图像,然后,根据两张子图像之间的光流矢量,将该目标子图像映射到两张子图像的中间视角,得到对应的中间视角图像,最后,将该待拼接的两张图像中除该第一子图像与该第二子图像之外的图像,以及该中间视角图像进行拼接,获得待拼接的两张图像的拼接图像,能够有效减少拼接图像中存在重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
结合第一方面,在第一方面的第一种可能的实现方式中,所述获取目标子图像,包括:
根据所述第一光流矢量,获取所述第一子图像对应在第一视角的第一前向光流变换图像;
根据所述第二光流矢量,获取所述第一子图像对应在所述第一视角的第一后向光流变换图像;
根据所述第一光流矢量,获取所述第二子图像对应在第二视角的第二后向光流变换图像;
根据所述第二光流矢量,获取所述第二子图像对应在所述第二视角的第二前向光流变换图像;
获取所述第一前向光流变换图像与所述第一后向光流变换图像之间的第一像素值差值;
获取所述第二前向光流变换图像与所述第二后向光流变换图像之间的第二像素值差值;
当所述第一像素值差值小于所述第二像素值差值时,将所述第一子图像确定为所述目标子图像,当所述第一像素值差值大于所述第二像素值差值时,将所述第二子图像确定为所述目标子图像,当所述第一像素值差值等于所述第二像素值差值时,所述目标子图像为所述第一子图像或第二子图像。
应理解,在该实现方式中,根据所述第二光流矢量的反向矢量,获取所述第一子图像对应在所述第一视角的第一后向光流变换图像,根据所述第一光流矢量的反向矢量,获取所述第二子图像对应在第二视角的第二后向光流变换图像。
因此,在本发明中,通过比较两张子图像各自经过前、后向光流变换之后的图像的像素值差值,将差值较小的子图像作为目标子图像,即将两张子图像中流场鲁棒性较好的子图像作为目标子图像,然后根据两张子图像之间的光流矢量,将流场鲁棒性较好的该目标子图像映射到中间视角,获得对应的中间视角图像,根据该中间视角图像得到的拼接图像,能够有效减少重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
本发明涉及的第一视角和第二视角,与第一图像的视角和第二图像的视角在一个水平线上。可选地,该第一视角与该第二视角均可以为第一图像的视角与第二图像的视角之间的一个视角,也就是说,第一视角与第二视角可以是两个不同的视角,还可以是相同的视角。优选地,第一视角为第二图像的视角;第二视角为第一图像的视角。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一视角为所述第二图像的视角,所述第二视角为所述第一图像的视角。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一视角为所述第一图像的视角与所述第二图像的视角之间的视角,所述第二视角为所述第一图像的视角与所述第二图像的视角之间的视角。
结合第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,根据如下公式计算第一像素值差值P和第二像素值差值Q:
其中,n,m分别表示所述重叠区域在横向与纵向上包括的像素点的个数;I1(i,j)表示第一子图像的第一前向光流变换图像I1在像素点坐标(i,j)处的像素值;I2(i,j)表示第一子图像的第一后向光流变换图像I2在像素点坐标(i,j)处的像素值;I3(i,j)表示第二子图像的第二前向光流变换图像I2在像素点坐标(i,j)处的像素值;I4(i,j)表示第二子图像的第二后向光流变换图像I4在像素点坐标(i,j)处的像素值。
结合第一方面或第一方面的第一种至第四种可能的实现方式,在第一方面的第五种可能的实现方式中,当所述目标子图像为所述第一子图像时,所述目标光流矢量为所述第一光流矢量,当所述目标子图像为所述第二子图像时,所述目标光流矢量为所述第二光流矢量。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据目标光流矢量,所述根据目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,包括:
根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的左边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的左边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的右边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的右边缘的垂直距离的像素点数量。
结合第一方面的第五种可能的实现方式,在第一方面的第七种可能的实现方式中,当所述第一图像与所述第二图像为上下拼接时,所述根据目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,包括:
根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量。
第二方面提供了一种图像拼接的装置,所述装置包括:
获取模块,用于获取待拼接的第一图像和第二图像,所述第一图像与所述第二图像之间具有重叠区域;
所述获取模块还用于,获取目标子图像,所述目标子图像包括第一子图像或第二子图像,所述第一子图像为所述第一图像内位于所述重叠区域的图像,所述第二子图像为所述第二图像内位于所述重叠区域的图像;
所述获取模块还用于,根据目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,所述中间视角为所述第一图像的视角与所述第二图像的视角之间的视角,所述目标光流矢量包括从所述第一子图像到所述第二子图像的第一光流矢量,或从所述第二子图像到所述第一子图像的第二光流矢量;
拼接模块,用于将所述第一图像内除所述第一子图像之外的图像、所述获取模块获取的所述中间视角图像、所述第二图像内除所述第二子图像之外的图像进行拼接,获得所述第一图像与所述第二图像的拼接图像。
结合第二方面,在第二方面的第一种可能的实现方式中,所述获取模块包括:
获取单元,用于根据所述第一光流矢量,获取所述第一子图像对应在第一视角的第一前向光流变换图像;根据所述第二光流矢量,获取所述第一子图像对应在所述第一视角的第一后向光流变换图像;根据所述第一光流矢量,获取所述第二子图像对应在第二视角的第二后向光流变换图像;根据所述第二光流矢量,获取所述第二子图像对应在所述第二视角的第二前向光流变换图像;获取所述第一前向光流变换图像与所述第一后向光流变换图像之间的第一像素值差值;获取所述第二前向光流变换图像与所述第二后向光流变换图像之间的第二像素值差值;
确定单元,用于当所述第一像素值差值小于所述第二像素值差值时,将所述第一子图像确定为所述目标子图像,当所述第一像素值差值大于所述第二像素值差值时,将所述第二子图像确定为所述目标子图像,当所述第一像素值差值等于所述第二像素值差值时,所述目标子图像为所述第一子图像或第二子图像。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一视角为所述第二图像的视角,所述第二视角为所述第一图像的视角。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一视角为所述第一图像的视角与所述第二图像的视角之间的视角,所述第二视角为所述第一图像的视角与所述第二图像的视角之间的视角。
结合第二方面或第二方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,当所述目标子图像为所述第一子图像时,所述目标光流矢量为所述第一光流矢量,当所述目标子图像为所述第二子图像时,所述目标光流矢量为所述第二光流矢量。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述获取模块用于,根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的左边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的左边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的右边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的右边缘的垂直距离的像素点数量。
结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,当所述第一图像与所述第二图像为上下拼接的场景时,所述获取模块用于,根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量。
第三方面提供了一种装置,该装置包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第一方面或第一方面的任一方面的可能实现方式中的方法。
在上述各个实现方式中,第一图像与第二图像为分别从两个视角采集的图像。
在上述各个实现方式中,所述中间视角图像指的是位于所述第一图像的视角与第二图像的视角之间的中间视角的图像,其中所述中间视角为所述第一图像的视角与第二图像的视角之间的任一视角,也可以具体为所述第一图像的视角与第二图像的视角之间的平均视角。所述中间视角图像与第一图像与第二图像的重叠区域等大。
应理解,该第一子图像的第一前向光流变换图像是该第一子图像基于第一子图像到第二子图像的第一光流矢量进行光流变换得到的;第一子图像的第一后向光流变换图像是该第一子图像基于第二子图像到第一子图像的第二光流矢量的反向矢量进行光流变换得到的。也就是说,该第一前向光流变换图像和第一后向光流变换图像是该第一子图像基于不同的光流矢量变换到同一视角上的映射图像。因此,该第一前向光流变换图像与该第一后向光流变换图像之间的像素值差值能够表征该第一子图像的光流场鲁棒性的好坏。类似地,第二子图像的第二前向光流变换图像与第二向光流变换图像之间的像素值差值能够表征该第二子图像的光流场鲁棒性的好坏。从而通过比较第一子图像与第二子图像各自经过前、后向光流变换之后的图像的像素值差值,能够确定出二者之中对光流场鲁棒性较好的子图像。在本发明中,将光流场鲁棒性较好的子图像基于光流矢量变换到中间视图,得到对应的中间视角图像,由此得到的拼接图像,能够有效减少或者避免现有技术中存在的重影或缺失的现象,同时,本发明只对一张子图像作处理,相对于现有技术也能够有效降低拼接图像所需的计算量。
基于上述技术方案,在本发明中,通过从待拼接的两张图像的位于重叠区域内的第一子图像与第二子图像中确定目标子图像,然后,根据两张子图像之间的光流矢量,将该目标子图像映射到两张子图像的中间视角,得到对应的中间视角图像,最后,将该待拼接的两张图像中除该第一子图像与该第二子图像之外的图像,以及该中间视角图像进行拼接,获得待拼接的两张图像的拼接图像,能够有效减少拼接图像中存在重影或缺失的现象。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例提供的图像拼接的方法的示意性流程图。
图2示出了本发明实施例涉及的待拼接图像的示意图。
图3示出了根据本发明实施例提供的对待拼接图像进行光流场估计的示意图。
图4示出了根据本发明实施例提供的图像拼接的方法的实现效果与现有技术的实现效果的对比示意图。
图5示出了根据本发明实施例提供的图像拼接的方法的实现效果与现有技术的实现效果的另一对比示意图。
图6示出了根据本发明实施例提供的图像拼接的方法的实现效果与现有技术的实现效果的另一对比示意图。
图7示出了根据本发明实施例提供的图像拼接的设备的示意性框图。
图8示出了根据本发明实施例提供的图像拼接的设备的另一示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了描述的方便和简洁,本发明实施例中的方法以两张图像的拼接过程为例,显而易见,本发明实施例中的方法还可以应用于多张图像拼接的图像处理系统,也可以应用于视频领域的图像处理系统。
应理解,一般情况下,待拼接的图像可以由相机阵列采集,也可以由其他图像采集设备获取,例如,本发明实施例中的待拼接的第一图像和第二图像可以是相机阵列中的相邻两个相机在同一场景中采集到的两张图像。待拼接的图像可以从不同的视角,即不同的角度采集而得。由于这些图像从不同的视角采集而成,所以拼接图像时,在图像的重叠区域会由于视差(从两个视角上观察同一个目标所产生的方向差异)产生重影或模糊的现象,这种现象也可称之为“鬼影”。如果待拼接图像中存在前景遮挡现象,或者当场景中存在运动物体时,在拼接图像时,更容易在重叠区域产生重影或缺失。因此,在拼接图像的过程中应该减少或避免重影或缺失的现象。
图1示出了根据本发明实施例提供的图像拼接的方法100的示意性流程图,该方法100包括:
S110,获取待拼接的第一图像和第二图像,该第一图像与该第二图像之间具有重叠区域。
具体地,该第一图像与该第二图像为分别从两个视角采集的图像,且该第一图像与该第二图像之间存在部分重叠区域,例如图2中所示的左右两张图像为待拼接的两张图像,记图2(a)所示图像对应该第一图像,图2(b)所示图像对应该第二图像,由图2可知,该第一图像与该第二图像之间的重叠区域为如图2中所示的男士与女士遮挡的部分。
S120,获取目标子图像,该目标子图像包括第一子图像或第二子图像,该第一子图像为该第一图像内位于该重叠区域的图像,该第二子图像为该第二图像内位于该重叠区域的图像。
可选地,在本发明实施例中,S120获取目标子图像,包括:
S121,根据该第一光流矢量,获取该第一子图像对应在第一视角的第一前向光流变换图像;根据该第二光流矢量,获取该第一子图像对应在该第一视角的第一后向光流变换图像;根据该第一光流矢量,获取该第二子图像对应在第二视角的第二后向光流变换图像;根据该第二光流矢量,获取该第二子图像对应在该第二视角的第二前向光流变换图像。
应理解,该第一视角和该第二视角,与第一图像的视角和第二图像的视角在一个水平线上。
具体地,该第一视角为第一图像的视角与第二图像的视角之间的一个视角。该第二视角为第一图像的视角与第二图像的视角之间的一个视角。换句话说,第一视角与第二视角可以是两个不同的视角,还可以是相同的视角。
优选地,第一视角为第二图像的视角;第二视角为第一图像的视角。
具体地,图3示出了该第一子图像IL到该第二子图像IR对应的第一光流矢量Hf1,以及该第二子图像IR到该第一子图像IL对应的第二光流矢量Hf2的示意图。利用该第一光流矢量Hf1对该第一子图像IL进行光流变换,获得该第一子图像IL的第一前向光流变换图像I1;利用该第二光流矢量Hf2的反向矢量-Hf2对该第一子图像IL进行光流变换,获得该第一子图像IL的第一后向光流变换图像I2;利用该第二光流矢量Hf2对该第二子图像IR进行光流变换,获得该第二子图像IR的第二前向光流变换图像I3;利用该第一光流矢量Hf1的反向矢量-Hf1对该第二子图像IR进行光流变换,获得该第二子图像IR的第二后向光流变换图像I4。
S122,获取该第一前向光流变换图像与该第一后向光流变换图像之间的第一像素值差值;获取该第二前向光流变换图像与该第二后向光流变换图像之间的第二像素值差值。
具体地,第一像素值差值例如为第一前向光流变换图像I1与第一后向光流变换图像I2中各个对应像素点的像素值之差的绝对值的总和,类似地,第二像素值差值例如为第二前向光流变换图像I3与第二后向光流变换图像I4中各个对应像素点的像素值之差的绝对值的总和。
可选地,在本发明实施例中,根据如下公式计算第一像素值差值P和第二像素值差值Q:
其中,n,m分别表示该重叠区域在横向与纵向上包括的像素点的个数;I1(i,j)表示第一子图像的第一前向光流变换图像I1在像素点坐标(i,j)处的像素值;I2(i,j)表示第一子图像的第一后向光流变换图像I2在像素点坐标(i,j)处的像素值;I3(i,j)表示第二子图像的第二前向光流变换图像I2在像素点坐标(i,j)处的像素值;I4(i,j)表示第二子图像的第二后向光流变换图像I4在像素点坐标(i,j)处的像素值。
S123,当该第一像素值差值小于该第二像素值差值时,将该第一子图像确定为该目标子图像,当该第一像素值差值大于该第二像素值差值时,将该第二子图像确定为该目标子图像,当该第一像素值差值等于该第二像素值差值时,该目标子图像为该第一子图像或第二子图像。
S130,根据目标光流矢量,获取该目标子图像对应在中间视角的中间视角图像,该中间视角为该第一图像的视角与该第二图像的视角之间的视角,该目标光流矢量包括从该第一子图像到该第二子图像的第一光流矢量,或从该第二子图像到该第一子图像的第二光流矢量。
可选地,在本发明实施例中,当该目标子图像为该第一子图像时,该目标光流矢量为该第一光流矢量,当该目标子图像为该第二子图像时,该目标光流矢量为该第二光流矢量。
可选地,在本发明实施例中,S130根据目标光流矢量,获取该目标子图像对应在中间视角的中间视角图像,包括:
根据以下公式获得该中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,该重叠区域包括n×m个像素点,IM(i,j)表示该中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示该目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为该目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为该目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当该目标子图像为该第一子图像时,λ1用于表示坐标(x,y)到该第一子图像的左边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到该中间视角图像的左边缘的垂直距离的像素点数量,当该目标子图像为该第二子图像时,λ1用于表示坐标(x,y)到该第二子图像的右边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到该中间视角图像的右边缘的垂直距离的像素点数量。
应理解,在本发明实施例中,当该目标子图像为该第一子图像时,该目标光流矢量也可以为第二光流矢量,当该目标子图像为该第二子图像时,该目标光流矢量为该第一光流矢量,这种情况下,公式(2)中的坐标(x,y)与坐标(i,j)的对应关系对应更改为
还应理解,在第一图像与第二图像进行左右拼接的场景(如图2所示的场景)下,根据上述公式(2)获得该中间视角图像。
本发明实施例提供的方法还可以适用于第一图像与第二图像进行上下拼接的场景,这种场景下,S130根据目标光流矢量,获取该目标子图像对应在中间视角的中间视角图像,包括:
根据以下公式获得该中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量。
应理解,在当该目标子图像为该第一子图像时,该目标光流矢量也可以为第二光
流矢量,当该目标子图像为该第二子图像时,该目标光流矢量为该第一光流矢量的情况下,
公式(3)的坐标(x,y)与坐标(i,j)的对应关系对应更改为
S140,将该第一图像内除该第一子图像之外的图像、该中间视角图像、该第二图像内除该第二子图像之外的图像进行拼接,获得该第一图像与该第二图像的拼接图像。
因此,在本发明中,对待拼接的两张图像内位于重叠区域的子图像分别进行前向光流变换和后向光流变换,通过比较两张子图像各自经过前、后向光流变换之后的图像的像素值差值,确定出像素差值较小的子图像为目标子图像,即确定出二者之中对光流场鲁棒性较好的子图像作为目标子图像,然后基于该目标子图像计算获得这两张图像的中间视角图像,从而根据这两张图像中除了各自重叠区域内的子图像之外的图像、以及该中间视角图像,获得这两张图像的拼接图像,能够有效减少拼接图像中存在重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
在S130中,根据目标子图像获得中间视角图像的过程,可以看作是,将目标子图像光流变换到中间视角的位置所得的映射图像的过程。下面以第一子图像作为目标子图像为例,说明根据目标子图像获得中间视角图像的过程:
1)建立与重叠区域等大的中间视角图像(假设为一个空白的视图)。
2)根据以下公式建立中间视角图像中的像素点与目标子图像中的像素点之间的对应关系:
i=0,1,2,...,n-1;j=0,1,2,...,m-1;
其中,该重叠区域包括n×m个像素点,(i,j)为中间视角图像内的像素点坐标,(x,y)为目标子图像内的像素点坐标,fx为该目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为该目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,λ2表示坐标(i,j)到该重合区域的左边缘的才垂直距离所包括的像素点的个数。
应理解,相当于是在在中间视角图像中坐标(i,j)处放置第一子图像中坐标(x,y)处的像素点。换句话说,中间视角图像的坐标(i,j)处的像素点对应于目标子图像中坐标(x,y)处的像素点,即建立中间视角图像中的各个像素点与该第一子图像中的各个像素点之间的对应关系。
3)根据目标子图像的像素点的像素值计算中间视角图像内像素点的像素值。
根据以下公式计算该中间视角图像内像素点的像素值:
i=0,1,2,...,n-1;j=0,1,2,...,m-1;
其中,该重叠区域包括n×m个像素点,IM(i,j)表示该中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示该目标子图像中坐标(x,y)处像素点的像素值,λ1用于表示坐标(x,y)到该第一子图像的左边缘的垂直距离的像素点数量。
至此,该中间视角图像由原始空白的图像变为一张有确定像素值的图像,且该中间视角图像中的像素值是根据目标子图像中的像素值得到的。
因此,在本发明实施例中,根据目标子图像获得中间视角图像的过程,其实就是,将目标子图像光流变换到待拼接的两张图像的中间视角的映射图像(即该中间视角图像)的过程,这一过程包括建立目标子图像与中间视角图像之间像素点的对应关系的过程,以及根据目标子图像内的像素点的像素值确定中间视角图像内像素点的像素值的过程。
因此,在本发明实施例中,对待拼接的两张图像内位于重叠区域的子图像分别进行前向光流变换和后向光流变换,通过比较两张子图像各自经过前、后向光流变换之后的图像的像素值差值,确定出像素差值较小的子图像为目标子图像,即确定出二者之中对光流场鲁棒性较好的子图像作为目标子图像,然后基于该目标子图像计算获得这两张图像的中间视角图像,从而根据这两张图像中除了各自重叠区域内的子图像之外的图像、以及该中间视角图像,获得这两张图像的拼接图像,能够有效减少拼接图像中存在重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
可选地,在本发明实施例中,在根据第一子图像与第二子图像确定目标子图像之前,该方法100还包括,对待拼接的第一图像与第二图像进行图像矫正,以使得第一图像与第二图像的中心在同一个水平线上。
具体地,现有技术中,通常根据摄像机标定计算采集到的图像的中心的位置。可以利用现有的图像校正的各种手段实现第一图像与第二图像的图像矫正,本发明实施例对此不作限定。经过矫正后的图像能够准确的成对出现在输入图像中。
下面结合图2、图4和图5描述本发明实施例提供的图像拼接的方法在具体应用中的实现效果。
图2(a)与图2(b)示出了待拼接的两幅图像,这两幅图像是从不同角度拍摄的图像,将图2(a)记为左图,将图2(b)记为右图。从图2可以明显看出,左图与右图具有重叠区域,重叠区域为男士遮挡女士的部分,通常前景遮挡区域对现有的图像融合算法产生很大影响,且在图2所示两幅图中,前景人体处在遮挡区中央区域,对融合算法影响较大,容易产生“鬼影”或者拼缝。
根据本发明实施例提供的图像拼接的方法实现图2所示两幅图像的图像拼接的基本步骤为:以左图内位于重叠区域的子图像和右图内位于重叠区域的子图像作为基准进行前向光流场计算和后向光流场计算,然后比较每一幅子图像经过前向光流场与后向光流变换后图像的像素值的差值,从而可以判断两幅图像对流场的鲁棒性优劣;然后只选择像素差值较小的子图像为目标子图像,即选择对流场鲁棒性好的子图像作为目标子图像,然后基于目标子图像中的像素点的像素值计算两幅图像的中间视角图像中的像素点的像素值,将左图内非重叠区域的图像、该中间视角图像、该右图内非重叠区域的图像进行拼接,获得该左图与该右图的拼接图像,最终形成一幅高质量无重影的拼接图像。
具体步骤如下:
步骤一:对左图和右图进行预处理
根据现有技术对左图和右图进行图像矫正处理,以消除或者减轻视差影响。
步骤二:分别以左图内的位于重叠区域的第一子图像与右图内的位于重叠区域的第二子图像为基准共进行四次流场计算,判断流场鲁棒性
经过图像矫正后,利用上述S120描述的方案,从第一子图像与第二子图像中确定出目标子图像。优选地,通过计算第一子图像的第一前向光流变换图像与第一后向光流变换图像之间的像素值差值,以及第二子图像的第二前向光流变换图像与第二后向光流变换图像之间的像素值差值,将二者中像素差值较小的图像作为目标子图像,即将第一子图像与第二子图像中流场鲁棒性较好的图像确定为目标子图像。
步骤三:建立中间视角图像中的像素点与目标子图像中的像素点之间的对应关系,以及计算中间视图的像素点的像素值。
采用上述S130所描述的方法,只选择对流场鲁棒性好的子图像的像素点的像素值计算中间视图像素点的像素值。
利用上述方法得到的拼接图像与利用现有的加权平均值法得到的拼接图像的对比图如图4所示,其中,图4(a)为加权平均值法的图像拼接效果,图4(b)为利用本发明实施例提供的方法获得的图像拼接效果。可以明显看出,利用现有方法会产生明显的重影或者拼缝,而采用本发明实施例提供的方法,可以有效地消除“鬼影”现象,得到一幅高质量的无重影的清晰图像。
因此,在本发明实施例中,对待拼接的两张图像内位于重叠区域的子图像分别进行前向光流变换和后向光流变换,通过比较两张子图像各自经过前、后向光流变换之后的图像的像素值差值,确定出像素差值较小的子图像为目标子图像,即确定出二者之中对光流场鲁棒性较好的子图像作为目标子图像,然后基于该目标子图像计算获得这两张图像的中间视角图像,从而根据这两张图像中除了各自重叠区域内的子图像之外的图像、以及该中间视角图像,获得这两张图像的拼接图像,能够有效减少拼接图像中存在重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
图5还示出了一个利用本发明实施例提供的方法所获得的图像拼接效果与利用现有的图像拼接方法(如直接平均值法、加权平均值法、中值滤波法)获得图像拼接效果的对比图。
图5(a)与图5(b)为针对相同的两幅待拼接的原始图像,分别利用现有方法与本发明实施例的方法进行图像拼接处理之后的结果,其中,图5(a)为利用现有图像拼接方法(如直接平均值法、加权平均值法、中值滤波法)处理后的拼接效果,图5(b)为利用本发明实施例提供的方法处理后的拼接效果。可以明显看出,采用本发明实施例提供的方法,可以有效地消除“鬼影”现象,得到一幅高质量的无重影的清晰图像。
图6(a)与图6(b)为针对相同的两幅待拼接的原始图像,分别利用现有方法与本发明实施例的方法进行图像拼接处理之后的结果,其中,图6(a)为利用现有图像拼接方法(如直接平均值法、加权平均值法、中值滤波法)的拼接效果,图6(b)为利用本发明实施例提供的图像拼接的方法的处理后的拼接效果。可以明显看出,采用本发明实施例提供的方法,可以有效地消除“鬼影”现象,得到一幅高质量的无重影的清晰图像。
由图4至图6所示可知,本发明实施例提供的图像拼接的方法相对于现有技术,能够获得较优的效果,即能够有效减少拼接图像中存在重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
应理解,在本发明实施例中,中间视角指的是第一图像的视角与第二图像的视角之间的中间视角,例如,该中间视角的坐标值为第一图像的视角的坐标值与第二图像的视角的坐标值的均值。
还应理解,光流法是运动图像分析的重要方法,指的是时变图像中模式运动速度。光流表达了图像的变化,由于它包含了目标运动的信息,因此可被观察者用来确定目标的运动情况。
光流场是指图像中所有的像素点构成的一种二维瞬时速度场。光流场是通过相邻两帧(M帧和M+1帧)的计算,得到M帧的每一点的从M帧到M+1帧的运动情况,需要强调的是这里的运动指的是图像里的运动,是指同一物体在相邻帧的位置偏移。在计算光流场时,要求相邻的帧的差别不能太大,否则无法计算。关于光流场的计算,目前已经有了很成熟的且简单易行的算法,本文对这部分内容不作详述。
可选地,在本发明实施例中,在S120中,可以采用大位移流场估计方法,分别计算第一子图像与第二子图像的前向光流变换图像和后向光流变换图像。
图7示出了本发明实施例提供的一种图像拼接的装置200的示意性框图,该装置200包括:
获取模块210,用于获取待拼接的第一图像和第二图像,该第一图像与该第二图像之间具有重叠区域;
该获取模块210还用于,获取目标子图像,该目标子图像包括第一子图像或第二子图像,该第一子图像为该第一图像内位于该重叠区域的图像,该第二子图像为该第二图像内位于该重叠区域的图像;
该获取模块210还用于,根据目标光流矢量,获取该目标子图像对应在中间视角的中间视角图像,该中间视角为该第一图像的视角与该第二图像的视角之间的视角,该目标光流矢量包括从该第一子图像到该第二子图像的第一光流矢量,或从该第二子图像到该第一子图像的第二光流矢量;
拼接模块220,用于将该第一图像内除该第一子图像之外的图像、该获取模块获取的该中间视角图像、该第二图像内除该第二子图像之外的图像进行拼接,获得该第一图像与该第二图像的拼接图像。
因此,在本发明实施例中,首先,通过从待拼接的两张图像的位于重叠区域内的第一子图像与第二子图像中确定目标子图像,然后,根据两张子图像之间的光流矢量,将该目标子图像映射到两张子图像的中间视角,得到对应的中间视角图像,最后,将该待拼接的两张图像中除该第一子图像与该第二子图像之外的图像,以及该中间视角图像进行拼接,获得待拼接的两张图像的拼接图像,能够有效减少拼接图像中存在重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
可选地,作为一个实施例,该获取模块210包括:
获取单元211,用于根据该第一光流矢量,获取该第一子图像对应在第一视角的第一前向光流变换图像;根据该第二光流矢量,获取该第一子图像对应在该第一视角的第一后向光流变换图像;根据该第一光流矢量,获取该第二子图像对应在第二视角的第二后向光流变换图像;根据该第二光流矢量,获取该第二子图像对应在该第二视角的第二前向光流变换图像;获取该第一前向光流变换图像与该第一后向光流变换图像之间的第一像素值差值;获取该第二前向光流变换图像与该第二后向光流变换图像之间的第二像素值差值;
确定单元212,用于当该第一像素值差值小于该第二像素值差值时,将该第一子图像确定为该目标子图像,当该第一像素值差值大于该第二像素值差值时,将该第二子图像确定为该目标子图像,当该第一像素值差值等于该第二像素值差值时,该目标子图像为该第一子图像或第二子图像。
可选地,作为一个实施例,该第一视角为该第二图像的视角,该第二视角为该第一图像的视角。
可选地,作为一个实施例,该第一视角为该第一图像的视角与该第二图像的视角之间的视角,该第二视角为该第一图像的视角与该第二图像的视角之间的视角。
可选地,作为一个实施例,当该目标子图像为该第一子图像时,该目标光流矢量为该第一光流矢量,当该目标子图像为该第二子图像时,该目标光流矢量为该第二光流矢量。
可选地,作为一个实施例,该获取模块用于,根据以下公式获得该中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,该重叠区域包括n×m个像素点,IM(i,j)表示该中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示该目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为该目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为该目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当该目标子图像为该第一子图像时,λ1用于表示坐标(x,y)到该第一子图像的左边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到该中间视角图像的左边缘的垂直距离的像素点数量,当该目标子图像为该第二子图像时,λ1用于表示坐标(x,y)到该第二子图像的右边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到该中间视角图像的右边缘的垂直距离的像素点数量。
可选地,作为一个实施例,该获取模块用于,根据以下公式获得该中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量。
应理解,根据本发明实施例的图像拼接的装置200用于执行本发明实施例提供的图像拼接的方法,并且装置200中的各个模块的上述和其它操作和/或功能分别为了实现图1至图6中的各个方法的相应流程,为了简洁,在此不再赘述。
如图8所示,本发明实施例还提供了一种装置300,该装置300包括处理器310、存储器320、总线系统330、接收器340和发送器350。其中,处理器310、存储器320、接收器340和发送器350通过总线系统330相连,该存储器320用于存储指令,该处理器310用于执行该存储器320存储的指令,以控制接收器340接收信号,并控制发送器350发送信号。该接收器340用于,接收待拼接的第一图像和第二图像,该第一图像与该第二图像之间具有重叠区域;该处理器310用于,获取待拼接的第一图像和第二图像,该第一图像与该第二图像之间具有重叠区域;获取目标子图像,该目标子图像包括第一子图像或第二子图像,该第一子图像为该第一图像内位于该重叠区域的图像,该第二子图像为该第二图像内位于该重叠区域的图像;根据目标光流矢量,获取该目标子图像对应在中间视角的中间视角图像,该中间视角为该第一图像的视角与该第二图像的视角之间的视角,该目标光流矢量包括从该第一子图像到该第二子图像的第一光流矢量,或从该第二子图像到该第一子图像的第二光流矢量;将该第一图像内除该第一子图像之外的图像、该中间视角图像、该第二图像内除该第二子图像之外的图像进行拼接,获得该第一图像与该第二图像的拼接图像。该发送器350用于将待拼接的两张图像的拼接图像输出,以便用户后续处理。
因此,在本发明实施例中,通过从待拼接的两张图像的位于重叠区域内的第一子图像与第二子图像中确定目标子图像,然后,根据两张子图像之间的光流矢量,将该目标子图像映射到两张子图像的中间视角,得到对应的中间视角图像,最后,将该待拼接的两张图像中除该第一子图像与该第二子图像之外的图像,以及该中间视角图像进行拼接,获得待拼接的两张图像的拼接图像,能够有效减少拼接图像中存在重影或缺失的现象,同时也能够有效降低拼接图像所需的计算量。
可选地,作为一个实施例,该处理器310用于,根据该第一光流矢量,获取该第一子图像对应在第一视角的第一前向光流变换图像;
根据该第二光流矢量,获取该第一子图像对应在该第一视角的第一后向光流变换图像;
根据该第一光流矢量,获取该第二子图像对应在第二视角的第二后向光流变换图像;
根据该第二光流矢量,获取该第二子图像对应在该第二视角的第二前向光流变换图像;
获取该第一前向光流变换图像与该第一后向光流变换图像之间的第一像素值差值;
获取该第二前向光流变换图像与该第二后向光流变换图像之间的第二像素值差值;
当该第一像素值差值小于该第二像素值差值时,将该第一子图像确定为该目标子图像,当该第一像素值差值大于该第二像素值差值时,将该第二子图像确定为该目标子图像,当该第一像素值差值等于该第二像素值差值时,该目标子图像为该第一子图像或第二子图像。。
可选地,作为一个实施例,该第一视角为该第二图像的视角,该第二视角为该第一图像的视角。。
可选地,作为一个实施例,该第一视角为该第一图像的视角与该第二图像的视角之间的视角,该第二视角为该第一图像的视角与该第二图像的视角之间的视角。
可选地,作为一个实施例,当该目标子图像为该第一子图像时,该目标光流矢量为该第一光流矢量,当该目标子图像为该第二子图像时,该目标光流矢量为该第二光流矢量。
可选地,作为一个实施例,该处理器310用于,根据以下公式获得该中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,该重叠区域包括n×m个像素点,IM(i,j)表示该中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示该目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为该目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为该目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当该目标子图像为该第一子图像时,λ1用于表示坐标(x,y)到该第一子图像的左边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到该中间视角图像的左边缘的垂直距离的像素点数量,当该目标子图像为该第二子图像时,λ1用于表示坐标(x,y)到该第二子图像的右边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到该中间视角图像的右边缘的垂直距离的像素点数量。
可选地,作为一个实施例,该处理器310用于,根据以下公式获得该中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量。
应理解,在本发明实施例中,该处理器310可以是中央处理单元(CentralProcessing Unit,简称为“CPU”),该处理器310还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器320可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。存储器320的一部分还可以包括非易失性随机存取存储器。例如,存储器320还可以存储设备类型的信息。
该总线系统330除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统330。
在实现过程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器320,处理器310读取存储器320中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,根据本发明实施例的设备300用于执行本发明实施例提供的图像拼接的方法,以及可以对应于根据本发明实施例提供的设备200,并且设备300中的各个模块的上述和其它操作和/或功能分别为了实现图1至图6中的各个方法的相应流程,为了简洁,在此不再赘述。
应理解,根据本发明实施例提供的方法和设备可用于手机、摄影机等各种视频采集终端设备,完成多个角度摄像采集图像的无缝拼接,形成一幅高质量多角度广角图像。可对视频逐帧处理,通过GPU加速、CPU多线程并行加速后,应用于实时视频拼接,形成实时高质量宽视野拼接视频。可广泛用于日常生活感官视觉体验、卫星图像或航拍图像的合成以及全景虚拟场景的建立。
还应理解,根据本发明实施例提供的方法和设备,拥有广泛的技术延伸和用途,在日常生活领域,随着此图像拼接技术的发展,数字相机图像拼接可进入人们生活,全景图像合成能够成为数字相机的一项新功能。随着云计算领域的发展,云端高速存储与数据传输得到高速发展,可方便推进全景图像拼接在虚拟场景重建上的应用,给予人群虚拟场景的视觉体验。
还应理解,本发明实施例中提及的“前向”与“后向”的概念,仅用于区分而非限定。
还应理解,本文中涉及的第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本发明实施例的范围。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种图像拼接的方法,其特征在于,所述方法包括:
获取从不同视角采集的待拼接的第一图像和第二图像,所述第一图像与所述第二图像之间具有重叠区域,其中,所述第一图像中位于所述重叠区域的图像为第一子图像,所述第二图像中位于所述重叠区域的图像为第二子图像;
确定目标子图像,所述目标子图像为所述第一子图像或所述第二子图像;
根据从所述目标子图像到所述第一子图像与所述第二子图像中除所述目标子图像之外的另一子图像的目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,所述中间视角为所述第一图像的视角与所述第二图像的视角之间的视角;
将所述第一图像内除所述第一子图像之外的图像、所述中间视角图像、所述第二图像内除所述第二子图像之外的图像进行拼接,获得所述第一图像与所述第二图像的拼接图像。
2.根据权利要求1所述的方法,其特征在于,所述确定目标子图像,包括:
根据第一光流矢量,获取所述第一子图像对应在第一视角的第一前向光流变换图像,所述第一光流矢量表示从所述第一子图像到所述第二子图像的光流矢量;
根据第二光流矢量,获取所述第一子图像对应在所述第一视角的第一后向光流变换图像,所述第二光流矢量表示从所述第二子图像到所述第一子图像的光流矢量;
根据所述第一光流矢量,获取所述第二子图像对应在第二视角的第二后向光流变换图像;
根据所述第二光流矢量,获取所述第二子图像对应在所述第二视角的第二前向光流变换图像;
获取所述第一前向光流变换图像与所述第一后向光流变换图像之间的第一像素值差值;
获取所述第二前向光流变换图像与所述第二后向光流变换图像之间的第二像素值差值;
当所述第一像素值差值小于所述第二像素值差值时,将所述第一子图像确定为所述目标子图像,当所述第一像素值差值大于所述第二像素值差值时,将所述第二子图像确定为所述目标子图像,当所述第一像素值差值等于所述第二像素值差值时,所述目标子图像为所述第一子图像或第二子图像。
3.根据权利要求2所述的方法,其特征在于,所述第一视角为所述第二图像的视角,所述第二视角为所述第一图像的视角。
4.根据权利要求2所述的方法,其特征在于,所述第一视角为所述第一图像的视角与所述第二图像的视角之间的视角,所述第二视角为所述第一图像的视角与所述第二图像的视角之间的视角。
5.根据权利要求1至4任一项所述的方法,其特征在于,当所述目标子图像为所述第一子图像时,所述目标光流矢量为从所述第一子图像到所述第二子图像的光流矢量,当所述目标子图像为所述第二子图像时,所述目标光流矢量为从所述第二子图像到所述第一子图像的光流矢量。
6.根据权利要求5所述的方法,其特征在于,所述根据从所述目标子图像到所述第一子图像与所述第二子图像中除所述目标子图像之外的另一子图像的目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,包括:
根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的左边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的左边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的右边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的右边缘的垂直距离的像素点数量。
7.根据权利要求5所述的方法,其特征在于,所述根据从所述目标子图像到所述第一子图像与所述第二子图像中除所述目标子图像之外的另一子图像的目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,包括:
根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量。
8.一种图像拼接的装置,所述装置包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述装置用于:
获取从不同视角采集的待拼接的第一图像和第二图像,所述第一图像与所述第二图像之间具有重叠区域,其中,所述第一图像中位于所述重叠区域的图像为第一子图像,所述第二图像中位于所述重叠区域的图像为第二子图像;
确定目标子图像,所述目标子图像为所述第一子图像或所述第二子图像;
根据从所述目标子图像到所述第一子图像与所述第二子图像中除所述目标子图像之外的另一子图像的目标光流矢量,获取所述目标子图像对应在中间视角的中间视角图像,所述中间视角为所述第一图像的视角与所述第二图像的视角之间的视角;
将所述第一图像内除所述第一子图像之外的图像、所述中间视角图像、所述第二图像内除所述第二子图像之外的图像进行拼接,获得所述第一图像与所述第二图像的拼接图像。
9.根据权利要求8所述的装置,其特征在于,所述装置用于,
根据第一光流矢量,获取所述第一子图像对应在第一视角的第一前向光流变换图像,所述第一光流矢量表示从所述第一子图像到所述第二子图像的光流矢量;
根据第二光流矢量,获取所述第一子图像对应在所述第一视角的第一后向光流变换图像,所述第二光流矢量表示从所述第二子图像到所述第一子图像的光流矢量;
根据所述第一光流矢量,获取所述第二子图像对应在第二视角的第二后向光流变换图像;
根据所述第二光流矢量,获取所述第二子图像对应在所述第二视角的第二前向光流变换图像;
获取所述第一前向光流变换图像与所述第一后向光流变换图像之间的第一像素值差值;
获取所述第二前向光流变换图像与所述第二后向光流变换图像之间的第二像素值差值;
当所述第一像素值差值小于所述第二像素值差值时,将所述第一子图像确定为所述目标子图像,当所述第一像素值差值大于所述第二像素值差值时,将所述第二子图像确定为所述目标子图像,当所述第一像素值差值等于所述第二像素值差值时,所述目标子图像为所述第一子图像或第二子图像。
10.根据权利要求9所述的装置,其特征在于,所述第一视角为所述第二图像的视角,所述第二视角为所述第一图像的视角。
11.根据权利要求9所述的装置,其特征在于,所述第一视角为所述第一图像的视角与所述第二图像的视角之间的视角,所述第二视角为所述第一图像的视角与所述第二图像的视角之间的视角。
12.根据权利要求8至11任一项所述的装置,其特征在于,当所述目标子图像为所述第一子图像时,所述目标光流矢量为从所述第一子图像到所述第二子图像的光流矢量,所述目标光流矢量为从所述第二子图像到所述第一子图像的光流矢量。
13.根据权利要求12所述的装置,其特征在于,所述装置用于,根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的左边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的左边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的右边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的右边缘的垂直距离的像素点数量。
14.根据权利要求12所述的装置,其特征在于,所述装置用于,根据以下公式获得所述中间视角图像:
其中,i=0,1,2,...,n-1;j=0,1,2,...,m-1,所述重叠区域包括n×m个像素点,IM(i,j)表示所述中间视角图像中坐标(i,j)处像素点的像素值,IT(x,y)表示所述目标子图像中坐标(x,y)处像素点的像素值,坐标(x,y)与坐标(i,j)的对应关系为fx为所述目标子图像中坐标(i,j)处像素点的光流矢量的水平分量,fy为所述目标子图像中坐标(i,j)处像素点的光流矢量的竖直分量,当所述目标子图像为所述第一子图像时,λ1用于表示坐标(x,y)到所述第一子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量,当所述目标子图像为所述第二子图像时,λ1用于表示坐标(x,y)到所述第二子图像的上边缘的垂直距离的像素点数量,λ2用于表示坐标(i,j)到所述中间视角图像的下边缘的垂直距离的像素点数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610053734.5A CN106997579B (zh) | 2016-01-26 | 2016-01-26 | 图像拼接的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610053734.5A CN106997579B (zh) | 2016-01-26 | 2016-01-26 | 图像拼接的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106997579A CN106997579A (zh) | 2017-08-01 |
CN106997579B true CN106997579B (zh) | 2020-01-03 |
Family
ID=59428890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610053734.5A Active CN106997579B (zh) | 2016-01-26 | 2016-01-26 | 图像拼接的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106997579B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833785B (zh) * | 2018-07-03 | 2020-07-03 | 清华-伯克利深圳学院筹备办公室 | 多视角图像的融合方法、装置、计算机设备和存储介质 |
CN109379577B (zh) * | 2018-11-08 | 2020-08-28 | 三星电子(中国)研发中心 | 一种虚拟视点的视频生成方法、装置及设备 |
CN111613165B (zh) * | 2019-02-23 | 2022-09-09 | 华为技术有限公司 | 在多显示驱动电路系统中显示图像的方法和电子设备 |
CN116564209A (zh) | 2019-02-23 | 2023-08-08 | 华为技术有限公司 | 在多显示驱动电路系统中显示图像的方法和电子设备 |
CN110505384B (zh) * | 2019-08-29 | 2021-05-14 | Oppo广东移动通信有限公司 | 成像系统、终端和图像获取方法 |
CN110505387B (zh) * | 2019-08-29 | 2021-06-11 | Oppo广东移动通信有限公司 | 成像系统、终端和图像获取方法 |
CN110445974B (zh) * | 2019-08-29 | 2021-06-04 | Oppo广东移动通信有限公司 | 成像系统、终端和图像获取方法 |
CN110505385B (zh) * | 2019-08-29 | 2021-06-11 | Oppo广东移动通信有限公司 | 成像系统、终端和图像获取方法 |
CN112184854B (zh) * | 2020-09-04 | 2023-11-21 | 上海硬通网络科技有限公司 | 动画合成方法、装置及电子设备 |
CN113469880A (zh) * | 2021-05-28 | 2021-10-01 | 北京迈格威科技有限公司 | 图像拼接方法及装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673395A (zh) * | 2008-09-10 | 2010-03-17 | 深圳华为通信技术有限公司 | 图像拼接方法及装置 |
CN102081796A (zh) * | 2009-11-26 | 2011-06-01 | 日电(中国)有限公司 | 图像拼接方法和装置 |
CN102788572A (zh) * | 2012-07-10 | 2012-11-21 | 中联重科股份有限公司 | 一种工程机械吊钩姿态的测量方法、装置及系统 |
CN104036243A (zh) * | 2014-06-06 | 2014-09-10 | 电子科技大学 | 一种基于光流信息的行为识别方法 |
CN104252705A (zh) * | 2014-09-30 | 2014-12-31 | 中安消技术有限公司 | 一种图像拼接方法及装置 |
CN105100616A (zh) * | 2015-07-27 | 2015-11-25 | 联想(北京)有限公司 | 一种图像处理方法及电子设备 |
-
2016
- 2016-01-26 CN CN201610053734.5A patent/CN106997579B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673395A (zh) * | 2008-09-10 | 2010-03-17 | 深圳华为通信技术有限公司 | 图像拼接方法及装置 |
CN102081796A (zh) * | 2009-11-26 | 2011-06-01 | 日电(中国)有限公司 | 图像拼接方法和装置 |
CN102788572A (zh) * | 2012-07-10 | 2012-11-21 | 中联重科股份有限公司 | 一种工程机械吊钩姿态的测量方法、装置及系统 |
CN104036243A (zh) * | 2014-06-06 | 2014-09-10 | 电子科技大学 | 一种基于光流信息的行为识别方法 |
CN104252705A (zh) * | 2014-09-30 | 2014-12-31 | 中安消技术有限公司 | 一种图像拼接方法及装置 |
CN105100616A (zh) * | 2015-07-27 | 2015-11-25 | 联想(北京)有限公司 | 一种图像处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106997579A (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106997579B (zh) | 图像拼接的方法和装置 | |
TWI554976B (zh) | 監控系統及其影像處理方法 | |
JP6561216B2 (ja) | 光学フローを使用した中間ビューの生成 | |
EP2884460B1 (en) | Image capturing apparatus, monitoring system, image processing apparatus, image capturing method, and non-transitory computer readable recording medium | |
US20190213712A1 (en) | Motion blur simulation | |
CN108833785B (zh) | 多视角图像的融合方法、装置、计算机设备和存储介质 | |
US10080006B2 (en) | Stereoscopic (3D) panorama creation on handheld device | |
CN107851321B (zh) | 图像处理方法和双摄像头系统 | |
US20120019614A1 (en) | Variable Stereo Base for (3D) Panorama Creation on Handheld Device | |
US20120019613A1 (en) | Dynamically Variable Stereo Base for (3D) Panorama Creation on Handheld Device | |
CN105374019A (zh) | 一种多深度图融合方法及装置 | |
CN106981078B (zh) | 视线校正方法、装置、智能会议终端及存储介质 | |
JP2011060216A (ja) | 画像処理装置および画像処理方法 | |
CN112215880B (zh) | 一种图像深度估计方法及装置、电子设备、存储介质 | |
US9645680B1 (en) | Method and apparatus for creating an adaptive mosaic pixel-wise virtual Bayer pattern | |
JP5533529B2 (ja) | 画像処理装置及び画像処理システム | |
Zhao et al. | Cross-scale reference-based light field super-resolution | |
WO2017183985A1 (en) | Image stitching method and device | |
CN105516579A (zh) | 一种图像处理方法、装置和电子设备 | |
US20220358619A1 (en) | Automatic dolly zoom image processing device | |
US10460487B2 (en) | Automatic image synthesis method | |
JP6486603B2 (ja) | 画像処理装置 | |
TWI615808B (zh) | 全景即時影像處理方法 | |
JP5900017B2 (ja) | 奥行き推定装置、再構成画像生成装置、奥行き推定方法、再構成画像生成方法及びプログラム | |
US9767580B2 (en) | Apparatuses, methods, and systems for 2-dimensional and 3-dimensional rendering and display of plenoptic images |
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 |