CN106023299B - 一种基于深度图的虚拟视图绘制方法及系统 - Google Patents
一种基于深度图的虚拟视图绘制方法及系统 Download PDFInfo
- Publication number
- CN106023299B CN106023299B CN201610289100.XA CN201610289100A CN106023299B CN 106023299 B CN106023299 B CN 106023299B CN 201610289100 A CN201610289100 A CN 201610289100A CN 106023299 B CN106023299 B CN 106023299B
- Authority
- CN
- China
- Prior art keywords
- view
- pixel
- depth map
- virtual
- pixel value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于深度图的虚拟视图绘制方法及系统。一种基于深度图的虚拟视图绘制方法,获取参考视图和参考视图的深度图;提取深度图的各预设像素点集合的深度序列Hi(T),i为集合序号,T为像素点的坐标;如果确定Hi(T)与直线y=k(T‑T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的参考视图的像素值作为虚拟视图中T=T0的像素值;根据虚拟视图的像素值绘制虚拟视图。本发明对各个像素点的像素值逐点计算,算法简单,对应用场景没有苛刻要求,增加了裸眼3D技术的应用广度。
Description
技术领域
本发明实施例涉及基于深度图的绘制(DIBR,Depth-Image-Base Rendering)技术,尤其涉及一种基于深度图的虚拟视图绘制方法及系统。
背景技术
目前,基于深度图像的绘制技术是3D系统中的关键技术,引起很多研究机构的关注。
传统3D视频信号传输需要传送左眼和右眼两路视频流,而基于DIBR技术的3D系统仅需要传输一路视频流及对应的深度信息,从而可以减少传输带宽。DIBR技术利用参考图像以及对应的每个像素的深度信息来重建场景中的虚拟视图,可以避免由传统视图生成方法带来的三维空间变换的计算复杂性,因此,DIBR技术在3D系统中得到广泛应用。
由于参考视图只是从一个角度获得,通常采用一些递归搜索算法,对于计算的复杂度要求较高,一般都需要采用FPGA的方式来处理,这样就对应用场景提出了很高的要求。
发明内容
本发明提供一种基于深度图的虚拟视图绘制方法及系统,以实现简化通过深度图生成虚拟视图的算法,克服了以往深度图像提取技术对应用场景的苛刻要求。
第一方面,本发明实施例提供了一种基于深度图的虚拟视图绘制方法,该方法包括:
获取参考视图和所述参考视图的深度图;
提取所述深度图的各预设像素点集合的深度序列Hi(T),i为集合序号,T为像素点的坐标;
如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值,其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角,y为深度值;
根据所述虚拟视图的像素值绘制所述虚拟视图。
优选的,所述获取参考视图和所述参考视图的深度图,包括:
通过3D相机设备获取参考视图和所述参考视图的深度图;
根据所述参考视图和所述参考视图的深度图依次对所述深度视图进行边缘像素匹配、模糊处理和深度值的区间映射。
优选的,所述提取所述深度图的各行或各列像素点的深度序列Hi(T)之后,所述根据所述虚拟视图的像素值绘制所述虚拟视图之前,还包括:
如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,其中,T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点。
优选的,提取所述深度图的各行/列像素点的深度序列Hi(T),具体包括:
按各预设像素点集合的预设顺序,提取深度图的各预设像素点集合的深度图,其中,预设像素点集合为各行像素点分别构成的行集合或各列像素点分别构成的列集合,预设顺序包括从深度图的各行或各列的设定一端到另一端。
优选的,所述获取参考视图和所述参考视图的深度图,具体为:通过移动端GPU获取参考视图和所述参考视图的深度图;
所述提取所述深度图的各预设像素点集合的深度序列Hi(T),具体为:
通过移动端GPU的着色器编程语言提取所述深度图的各预设像素点集合的深度序列Hi(T);
所述如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值,具体为:通过移动端GPU的着色器编程语言执行如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值;
所述根据所述虚拟视图的像素值绘制所述虚拟视图,具体为:
通过移动端GPU的着色器编程语言根据所述虚拟视图的像素值绘制所述虚拟视图。
优选的,所述根据所述虚拟视图的像素值绘制所述虚拟视图之后,还包括:根据所述虚拟视图与所述参照视图生成裸眼3D视图。
第二方面,本发明实施例还提供了一种基于深度图的虚拟视图绘制系统,该系统包括:
视图获取单元,用于获取参考视图和所述参考视图的深度图;
序列提取单元,用于提取所述深度图的各预设像素点集合的深度序列Hi(T),i为集合序号,T为像素点的坐标;
像素值匹配单元,用于如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值,其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角;
虚拟视图生成单元,用于根据所述虚拟视图生成所述虚拟视图。
优选的,所述视图获取单元包括:
视图采集模块,用于通过3D相机设备获取参考视图和所述参考视图的深度图;
预处理模块,用于根据所述参考视图和所述参考视图的深度图依次对所述深度视图进行边缘像素匹配、模糊处理和深度值的区间映射。
优选的,还包括空洞补充单元,用于如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,其中,T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点。
优选的,所述序列提取单元,用于:
按各预设像素点集合的预设顺序,提取深度图的各预设像素点集合的深度图,其中,预设像素点集合为各行像素点分别构成的行集合或各列像素点分别构成的列集合,预设顺序包括从深度图的各行或各列的设定一端到另一端。
优选的,所述视图获取单元,具体用于:通过移动端GPU获取参考视图和所述参考视图的深度图;
所述序列提取单元,具体用于:通过移动端GPU的着色器编程语言提取所述深度图的各预设像素点集合的深度序列Hi(T);
像素值匹配单元,用于通过移动端GPU的着色器编程语言执行如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值;
虚拟视图生成单元,具体用于:通过移动端GPU的着色器编程语言根据所述虚拟视图的像素值绘制所述虚拟视图。
优选的,还包括裸眼3D视图生成单元,用于根据所述虚拟视图与所述参照视图生成裸眼3D视图。
本发明通过求出Hi(T)与直线y=k(T-T0)交点[T1,Hi(T1)]的算法,生成了虚拟视图,对各个像素点的像素值逐点计算,对每个像素点做同样处理,算法简单,对应用场景没有苛刻要求,采用FPGA以外的方式也可以轻松实现,可以运行在手机和平板上,增加了裸眼3D技术的应用广度。
附图说明
图1是本发明实施例一中的一种基于深度图的虚拟视图绘制方法的方法流程图一;
图2是本发明实施例一中的一种基于深度图的虚拟视图绘制方法的方法流程图二;
图3是本发明实施例一中的一种基于深度图的虚拟视图绘制方法的方法流程图三;
图4是本发明实施例一中的一种基于深度图的虚拟视图绘制方法的方法流程图四;
图5是本发明实施例二中的一种基于深度图的虚拟视图绘制方法的方法流程图一;
图6是本发明实施例三中的一种基于深度图的虚拟视图绘制系统的结构示意图一;
图7是本发明实施例三中的一种基于深度图的虚拟视图绘制系统的结构示意图二;
图8是本发明实施例三中的一种基于深度图的虚拟视图绘制系统的结构示意图三;
图9是本发明实施例三中的一种基于深度图的虚拟视图绘制系统的结构示意图四;
图10是本发明实施例四中的一种基于深度图的虚拟视图绘制系统的结构示意图一。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种基于深度图的虚拟视图绘制方法的流程图,本实施例可适用于带有处理器、显示器以及深度摄像头的电子设备根据基于深度图的虚拟视图绘制虚拟图像的情况,如PC端、移动端(手机、平板电脑、智能可穿戴设备)等情况,该方法可以由电子设备来执行,具体包括如下步骤:
步骤110、获取参考视图和参考视图的深度图。
具体的,通过深度摄像头获取到参考视图和参考视图的深度图,并将参考视图和参考视图的深度图传送给处理器。其中,深度摄像头和处理器可以为一体的在同一个电子设备内,也可以为分体的设置在多个电子设备中,通过数据线传输或无线传输。
步骤120、提取深度图的各预设像素点集合的深度序列Hi(T),i为集合序号,T为像素点的坐标。
其中,各预设像素点集合可以为各行或各列的像素点形成的集合,也可以为预先定义的像素点集合。
可以为绘制深度图的各预设像素点集合的深度序列,横轴为坐标T,纵坐标为Hi(T)。例如:预设像素点集合为各行或各列的像素点形成的集合,横轴为坐标T,纵轴为深度图的深度值,i为行序号或列序号,T第i行的列坐标或第i列的行坐标。
步骤130、如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的参考视图的像素值作为虚拟视图中T=T0的像素值。
其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角,y为深度值。虚拟视图中T=T0的像素值为虚拟视图中第i个像素点集合中T=T0的像素点的像素值。
例如:各预设像素点集合为各行或各列的像素点形成的集合。T0取遍Hi(T)中第i行的列坐标或第i列的行坐标,生成穿过(T0,0)且方向与预设虚拟视图视角方向平行的直线:y=k(T-T0),如果确定Hi(T)与直线y=k(T-T0)有交点,则有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的参考视图的像素值作为虚拟视图第i行或第i列中T=T0的像素点的像素值,根据上述方式将第i行和第i列的所有与相应直线有交点的坐标对应虚拟视图的像素值得出,且根据上述方式将所有行或所有列的有交点的坐标对应虚拟视图的像素值得出。
步骤140、根据虚拟视图的像素值绘制虚拟视图。
具体的,根据之前获得的虚拟视图中各像素点的像素值绘制虚拟视图。其中,绘制虚拟视图可为通过将虚拟视图中各像素点的像素值在屏幕上显示,也可以为通将虚拟视图中各像素点的像素值以虚拟视图的视图格式存储在电子设备的存储器中。
该一种基于深度图的虚拟视图绘制方法的工作原理:发明通过求出Hi(T)与直线y=k(T-T0)交点[T1,Hi(T1)]的算法,生成了虚拟视图,对各个像素点的像素值逐点计算,对每个像素点做同样处理,算法简单,对应用场景没有苛刻要求,采用FPGA以外的方式也可以轻松实现,可以运行在手机和平板上,增加了裸眼3D技术的应用广度。
如附图2所示,在上述技术方案的基础上,优选的,在步骤S140之后还可以增加S150:根据虚拟视图与参照视图生成裸眼3D视图。
其中,虚拟视图为S140中得到的,参照视图为S110得到的,裸眼3D视图的生成过程为现有技术,可以根据裸眼3D的显示设备参数以及用户需要的不同视角数量通过不同算法合成,在此不再赘述。通过本步骤,使此种虚拟视图的绘制方法最终利于裸眼3D视图的生成,该步骤可以应用于手机、平板电脑等计算能力有限的电子设备上,计算简单,利于裸眼3D视图生成技术的推广。
如附图3所示,在上述技术方案的基础上,S110优选可以包括S111和S112。
S111:通过3D相机设备获取参考视图和参考视图的深度图。
例如:通过kinect设备或其他带有3D相机功能的电子设备。
S112:根据参考视图和参考视图的深度图依次对深度视图进行边缘像素匹配、模糊处理和深度值的区间映射。
例如:边缘像素匹配首先提取参考视图的边缘部分和深度图的边缘部分b,将参考视图与深度图的边缘部分对比,将深度图的边缘部分b中与参考视图的边缘部分a不匹配的部分校正为非边缘部分,而识别参考视图的边缘部分a中与深度图的边缘部分b不匹配的部分a1,将a1位置对应的深度图位置设置为边缘部分,这样实现了边缘像素匹配。模糊处理采用高斯处理,深度值的区间映射执行过程:深度图像的值需要定义在0~255区间,可能对于一些非线性设备采集的数据需要做一个区间映射,可能是分段进行的。比如深度采集0~100米,其中0~20米对应数值0~20,80~100米对应数值235~255,20~80米对应数值20~235,这种分段的数据关系我们需要重新映射成一个线性的关系,变成0~100米对应数值0~255。
S110这样设置的好处在于通过边缘像素匹配使深度图边缘识别更精准,通过模糊处理将不连续的区域变得平滑连续,减少空洞的产生,区间映射有助于3D场景的还原。
如附图4所示,在上述技术方案的基础上,优选的,S120之后,S140之前还包括S131:
如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,其中,T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点。
其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角,y为深度值。虚拟视图中T=T0的像素值为虚拟视图中第i行或第i列中T=T0的像素点的像素值。T2可以为Hi(T)中与坐标T0最近的满足直线y=k(T-T2)与Hi(T)有交点的坐标。此步骤与步骤S130没有先后关系。
例如:T0取遍Hi(T)中第i行的列坐标或第i列的行坐标,生成穿过(T0,0)且方向与预设虚拟视图视角方向平行的直线:y=k(T-T0),如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,根据上述方式将第i行和第i列的所有与相应直线没有交点的坐标对应虚拟视图的像素值得出,且根据上述方式将所有行或所有列的没有交点的坐标对应虚拟视图的像素值得出。
其中,T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点,而T=T2的虚拟图像的像素值的获得过程为通过S130得到的:如果有交点[T3,Hi(T3)],则将Hi(T)中T=T3对应的参考视图的像素值作为虚拟视图第i行或第i列中T=T2的像素点的像素值。
通过S131,可以有效将没有交点的空洞通过附近有交点的虚拟视图的像素值填补,准确性差异不大,计算过程简单。
在上述方案的基础上,S120具体包括:按各预设像素点集合的预设顺序,提取深度图的各预设像素点集合的深度图,其中,预设像素点集合为各行像素点分别构成的行集合或各列像素点分别构成的列集合,预设顺序包括从深度图的各行或各列的设定一端到另一端。
例如:以按各行为例,各行像素点的设定一端均为左端(各行像素点的设定一端可以不相同),则从深度图的各行像素点的左一端到右端提取深度图的各行像素点的深度图,按提取顺序绘制成各行的深度序列Hi(T),此时的深度序列的坐标T从左到右顺序排列,此种绘制方法可以使计算更方便快捷,准确找到与直线y=k(T-T0)的准确交点。
实施例二
图5为本发明实施例二提供的一种基于深度图的虚拟视图绘制方法的流程图,本实施例在上述各实施例的基础上,优选是将S110、S120、S130和S140进一步通过移动端GPU来实现,本方法应用于带有移动端GPU和3D摄像头的电子设备,具体包括以下步骤。
S210、通过移动端GPU获取参考视图和参考视图的深度图。
具体的,通过深度摄像头获取到参考视图和参考视图的深度图,并将参考视图和参考视图的深度图传送给移动端GPU。其中,深度摄像头和移动端GPU可以为一体的在同一个电子设备内,也可以为分体的设置在多个电子设备中,通过数据线传输或无线传输。
S220、通过移动端GPU的着色器编程语言提取深度图的各预设像素点集合的深度序列Hi(T),i为集合序号,T为像素点的坐标。
本步骤的执行过程与实施例一中S120一致,在此不再赘述,区别仅在于本步骤限定为通过移动端GPU的着色器编程语言来实现,本步骤的执行主体为移动端GPU。
S230、通过移动端GPU的着色器编程语言执行如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的参考视图的像素值作为虚拟视图中T=T0的像素值。
本步骤的执行过程与实施例一中S130一致,在此不再赘述,区别仅在于本步骤限定为通过移动端GPU的着色器编程语言来实现,本步骤的执行主体为移动端GPU。
S240、通过移动端GPU的着色器编程语言根据虚拟视图的像素值绘制虚拟视图。
本步骤的执行过程与实施例一中S140一致,在此不再赘述,区别仅在于本步骤限定为通过移动端GPU的着色器编程语言来实现,本步骤的执行主体为移动端GPU。
该一种基于深度图的虚拟视图绘制方法的工作原理:发明通过求出Hi(T)与直线y=k(T-T0)交点[T1,Hi(T1)]的算法,生成了虚拟视图,对各个像素点的像素值逐点计算,对每个像素点做同样处理,算法适用于移动端GPU的着色器编程语言的运行特性,可以运行在使用了移动端GPU手机和平板上,增加了裸眼3D技术的应用广度。
在上述技术方案的基础上,优选的,在步骤S240之后还可以增加S250:根据虚拟视图与参照视图生成裸眼3D视图。其中,虚拟视图为S240中得到的,参照视图为S210得到的,裸眼3D视图的生成过程为现有技术,可以根据裸眼3D的显示设备参数以及用户需要的不同视角数量通过不同算法合成,在此不再赘述。通过本步骤,使此种虚拟视图的绘制方法最终利于裸眼3D视图的生成,该步骤可以应用于手机、平板电脑等计算能力有限的电子设备上,计算简单,利于裸眼3D视图生成技术的推广。
实施例三
图6所示为本发明实施例三提供的一种基于深度图的虚拟视图绘制系统的结构示意图,本实施例可适用于用于带有处理器、显示器以及深度摄像头的电子设备根据基于深度图的虚拟视图绘制虚拟图像的情况,该系统的具体结构如下:
该系统包括视图获取单元310、序列提取单元320、像素值匹配单元330以及虚拟视图生成单元340
视图获取单元310,用于获取参考视图和参考视图的深度图。
具体的,通过深度摄像头获取到参考视图和参考视图的深度图,并将参考视图和参考视图的深度图传送给处理器。其中,深度摄像头和处理器可以为一体的在同一个电子设备内,也可以为分体的设置在多个电子设备中,通过数据线传输或无线传输。
序列提取单元320,连接视图获取单元310的输出端,用于提取深度图的各预设像素点集合的深度序列Hi(T),i为集合序号,T为像素点的坐标。
其中,各预设像素点集合可以为各行或各列的像素点形成的集合,也可以为预先定义的像素点集合。
可以为绘制深度图的各预设像素点集合的深度序列,横轴为坐标T,纵坐标为Hi(T)。例如:预设像素点集合为各行或各列的像素点形成的集合,横轴为坐标T,纵轴为深度图的深度值,i为行序号或列序号,T第i行的列坐标或第i列的行坐标。
像素值匹配单元330,连接序列提取单元320的输出端,用于如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的参考视图的像素值作为虚拟视图中T=T0的像素值。
其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角,y为深度值。
虚拟视图中T=T0的像素值为虚拟视图中第i个像素点集合中T=T0的像素点的像素值。
例如:各预设像素点集合为各行或各列的像素点形成的集合。T0取遍Hi(T)中第i行的列坐标或第i列的行坐标,生成穿过(T0,0)且方向与预设虚拟视图视角方向平行的直线:y=k(T-T0),如果确定Hi(T)与直线y=k(T-T0)有交点,则有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的参考视图的像素值作为虚拟视图第i行或第i列中T=T0的像素点的像素值,根据上述方式将第i行和第i列的所有与相应直线有交点的坐标对应虚拟视图的像素值得出,且根据上述方式将所有行或所有列的有交点的坐标对应虚拟视图的像素值得出。
虚拟视图生成单元340,连接像素值匹配单元330的输出端,用于根据虚拟视图生成虚拟视图。
具体的,根据获得的虚拟视图中各像素点的像素值绘制虚拟视图。其中,绘制虚拟视图可为通过将虚拟视图中各像素点的像素值在屏幕上显示,也可以为通将虚拟视图中各像素点的像素值以虚拟视图的视图格式存储在电子设备的存储器中。
该一种基于深度图的虚拟视图绘制方法的工作原理:发明通过求出Hi(T)与直线y=k(T-T0)交点[T1,Hi(T1)]的算法,生成了虚拟视图,对各个像素点的像素值逐点计算,对每个像素点做同样处理,算法简单,对应用场景没有苛刻要求,采用FPGA以外的方式也可以轻松实现,可以运行在手机和平板上,增加了裸眼3D技术的应用广度。
在上述技术方案的基础上,如附图7所示,优选的,还包括裸眼3D视图生成单元350,连接虚拟视图生成单元340和视图获取单元310,用于根据虚拟视图与参照视图生成裸眼3D视图。
其中,虚拟视图为虚拟视图生成单元340中得到的,参照视图为视图获取单元310得到的,裸眼3D视图的生成过程为现有技术,可以根据裸眼3D的显示设备参数以及用户需要的不同视角数量通过不同算法合成,在此不再赘述。通过本单元,使此种虚拟视图的绘制方法最终利于裸眼3D视图的生成,该单元可以应用于手机、平板电脑等计算能力有限的电子设备上,计算简单,利于裸眼3D视图生成技术的推广。
在上述技术方案的基础上,如附图8所示,视图获取单元310优选可以包括视图采集模块311和预处理模块312。
视图采集模块311,用于通过3D相机设备获取参考视图和参考视图的深度图。
例如:通过kinect设备或其他带有3D相机功能的电子设备。
预处理模块312,连接视图采集模块311的输出端,用于根据参考视图和参考视图的深度图依次对深度视图进行边缘像素匹配、模糊处理和深度值的区间映射。
例如:边缘像素匹配首先提取参考视图的边缘部分和深度图的边缘部分b,将参考视图与深度图的边缘部分对比,将深度图的边缘部分b中与参考视图的边缘部分a不匹配的部分b1校正为非边缘部分,而识别参考视图的边缘部分a中与深度图的边缘部分b不匹配的部分a1,将a1对应的深度图位置b2设置为边缘部分,这样实现了边缘像素匹配。模糊处理采用高斯处理,深度值的区间映射执行过程:深度图像的值需要定义在0~255区间,可能对于一些非线性设备采集的数据需要做一个区间映射,可能是分段进行的。比如深度采集0~100米,其中0~20米对应数值0~20,80~100米对应数值235~255,20~80米对应数值20~235,这种分段的数据关系我们需要重新映射成一个线性的关系,变成0~100米对应数值0~255。
这样设置的好处在于通过边缘像素匹配使深度图边缘识别更精准,通过模糊处理将不连续的区域变得平滑连续,减少空洞的产生,区间映射有助于3D场景的还原。
如附图9所示,在上述技术方案的基础上,优选的,还包括空洞补充单元331,用于:如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,其中,T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点。
其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角,y为深度值。虚拟视图中T=T0的像素值为虚拟视图中第i行或第i列中T=T0的像素点的像素值。T2可以为Hi(T)中与坐标T0最近的满足直线y=k(T-T2)与Hi(T)有交点的坐标。
例如:T0取遍Hi(T)中第i行的列坐标或第i列的行坐标,生成穿过(T0,0)且方向与预设虚拟视图视角方向平行的直线:y=k(T-T0),如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,根据上述方式将第i行和第i列的所有与相应直线没有交点的坐标对应虚拟视图的像素值得出,且根据上述方式将所有行或所有列的没有交点的坐标对应虚拟视图的像素值得出。
其中,T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点,而T=T2的虚拟图像的像素值的获得过程为通过S130得到的:如果有交点[T3,Hi(T3)],则将Hi(T)中T=T3对应的参考视图的像素值作为虚拟视图第i行或第i列中T=T2的像素点的像素值。
在上述技术方案的基础上,优选的,序列提取单元440具体用于:按按各预设像素点集合的预设顺序,提取深度图的各预设像素点集合的深度图,其中,预设像素点集合为各行像素点分别构成的行集合或各列像素点分别构成的列集合,预设顺序包括从深度图的各行或各列的设定一端到另一端。
例如:以按各行为例,各行像素点的设定一端均为左端(各行像素点的设定一端可以不相同),则从深度图的各行像素点的左一端到右端提取深度图的各行像素点的深度图,按提取顺序绘制成各行的深度序列Hi(T),此时的深度序列的坐标T从左到右顺序排列,此种绘制方法可以使计算更方便快捷,准确找到与直线y=k(T-T0)的准确交点。
实施例四
图10为本发明实施例四提供的一种基于深度图的虚拟视图绘制系统的结构示意图,本实施例在上述各实施例的基础上,优选是将视图获取单元、序列提取单元、像素值匹配单元以及虚拟视图生成单元进一步优化为通过移动端GPU来实现。
视图获取单元410,用于通过移动端GPU获取参考视图和参考视图的深度图。
具体的,通过深度摄像头获取到参考视图和参考视图的深度图,并将参考视图和参考视图的深度图传送给移动端GPU。其中,深度摄像头和移动端GPU可以为一体的在同一个电子设备内,也可以为分体的设置在多个电子设备中,通过数据线传输或无线传输。
序列提取单元420,用于通过移动端GPU的着色器编程语言提取深度图的各预设像素点集合的深度序列Hi(T)。
本单元的执行过程与实施例三中序列提取单元420一致,在此不再赘述,区别仅在于本单元限定为通过移动端GPU的着色器编程语言来实现,本单元的执行主体为移动端GPU。
像素值匹配单元430,用于通过移动端GPU的着色器编程语言执行如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值;
本单元的执行过程与实施例三中像素值匹配单元430一致,在此不再赘述,区别仅在于本单元限定为通过移动端GPU的着色器编程语言来实现,本单元的执行主体为移动端GPU。
虚拟视图生成单元440,用于通过移动端GPU的着色器编程语言根据所述虚拟视图的像素值绘制所述虚拟视图。
本单元的执行过程与实施例三中虚拟视图生成单元340一致,在此不再赘述,区别仅在于本单元限定为通过移动端GPU的着色器编程语言来实现,本单元的执行主体为移动端GPU。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种基于深度图的虚拟视图绘制方法,其特征在于,包括:
获取参考视图和所述参考视图的深度图;
提取所述深度图的各预设像素点集合的深度序列Hi(T), i为集合序号,T为像素点的坐标;
如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值,其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角,y为深度值;
根据所述虚拟视图的像素值绘制所述虚拟视图;
其中,所述各预设像素点集合为所述深度图的各行或各列的像素点形成的集合;所述直线y=k(T-T0)为与所述预设虚拟视图视角方向平行的直线。
2.根据权利要求1所述的方法,其特征在于,所述获取参考视图和所述参考视图的深度图,包括:
通过3D相机设备获取参考视图和所述参考视图的深度图;
根据所述参考视图和所述参考视图的深度图依次对所述深度视图进行边缘像素匹配、模糊处理和深度值的区间映射。
3.根据权利要求2所述的方法,其特征在于,所述提取所述深度图的各行或各列像素点的深度序列Hi(T)之后,所述根据所述虚拟视图的像素值绘制所述虚拟视图之前,还包括:
如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,其中,T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点。
4.根据权利要求1所述的方法,其特征在于,提取所述深度图的各行/列像素点的深度序列Hi(T),具体包括:
按各预设像素点集合的预设顺序,提取深度图的各预设像素点集合的深度图,其中,预设像素点集合为各行像素点分别构成的行集合或各列像素点分别构成的列集合,预设顺序包括从深度图的各行或各列的设定一端到另一端。
5.根据权利要求1所述的方法,其特征在于,
所述获取参考视图和所述参考视图的深度图,具体为:通过移动端GPU获取参考视图和所述参考视图的深度图;
所述提取所述深度图的各预设像素点集合的深度序列Hi(T),具体为:
通过移动端GPU的着色器编程语言提取所述深度图的各预设像素点集合的深度序列Hi(T);
所述如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值,具体为:通过移动端GPU的着色器编程语言执行如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值;
所述根据所述虚拟视图的像素值绘制所述虚拟视图,具体为:
通过移动端GPU的着色器编程语言根据所述虚拟视图的像素值绘制所述虚拟视图。
6.根据权利要求1所述的方法,其特征在于,所述根据所述虚拟视图的像素值绘制所述虚拟视图之后,还包括:根据所述虚拟视图与参照视图生成裸眼3D视图。
7.一种基于深度图的虚拟视图绘制系统,其特征在于,包括:
视图获取单元,用于获取参考视图和所述参考视图的深度图;
序列提取单元,用于提取所述深度图的各预设像素点集合的深度序列Hi(T),i为集合序号,T为像素点的坐标;
像素值匹配单元,用于如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值,其中,k=cosA,A为预设虚拟视图视角方向与参考视图平面的夹角;
虚拟视图生成单元,用于根据所述虚拟视图生成所述虚拟视图;
其中,所述各预设像素点集合为所述深度图的各行或各列的像素点形成的集合;所述直线y=k(T-T0)为与所述预设虚拟视图视角方向平行的直线。
8.根据权利要求7所述的系统,其特征在于,所述视图获取单元包括:
视图采集模块,用于通过3D相机设备获取参考视图和所述参考视图的深度图;
预处理模块,用于根据所述参考视图和所述参考视图的深度图依次对所述深度视图进行边缘像素匹配、模糊处理和深度值的区间映射。
9.根据权利要求7所述的系统,其特征在于,还包括空洞补充单元,用于如果确定Hi(T)与直线y=k(T-T0)没有交点,则将坐标T=T2的虚拟图像的像素值作为虚拟视图中T=T0的虚拟图像的像素值,其中, T2为坐标T0附近的坐标,且Hi(T)与直线y=k(T-T2)有交点。
10.根据权利要求7所述的系统,其特征在于,所述序列提取单元,用于:
按各预设像素点集合的预设顺序,提取深度图的各预设像素点集合的深度图,其中,预设像素点集合为各行像素点分别构成的行集合或各列像素点分别构成的列集合,预设顺序包括从深度图的各行或各列的设定一端到另一端。
11.根据权利要求7所述的系统,其特征在于,所述视图获取单元,具体用于:通过移动端GPU获取参考视图和所述参考视图的深度图;
所述序列提取单元,具体用于:通过移动端GPU的着色器编程语言提取所述深度图的各预设像素点集合的深度序列Hi(T);
像素值匹配单元,用于通过移动端GPU的着色器编程语言执行如果确定Hi(T)与直线y=k(T-T0)有交点[T1,Hi(T1)],则将Hi(T)中T=T1对应的所述参考视图的像素值作为虚拟视图中T=T0的像素值;
虚拟视图生成单元,具体用于:通过移动端GPU的着色器编程语言根据所述虚拟视图的像素值绘制所述虚拟视图。
12.根据权利要求7所述的系统,其特征在于,还包括裸眼3D视图生成单元,用于根据所述虚拟视图与参照视图生成裸眼3D视图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610289100.XA CN106023299B (zh) | 2016-05-04 | 2016-05-04 | 一种基于深度图的虚拟视图绘制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610289100.XA CN106023299B (zh) | 2016-05-04 | 2016-05-04 | 一种基于深度图的虚拟视图绘制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106023299A CN106023299A (zh) | 2016-10-12 |
CN106023299B true CN106023299B (zh) | 2019-01-04 |
Family
ID=57081087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610289100.XA Active CN106023299B (zh) | 2016-05-04 | 2016-05-04 | 一种基于深度图的虚拟视图绘制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106023299B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109982064B (zh) * | 2019-03-18 | 2021-04-27 | 影石创新科技股份有限公司 | 一种裸眼3d的虚拟视点图像生成方法和便携式终端 |
CN110136082B (zh) | 2019-05-10 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 遮挡剔除方法、装置及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102208113A (zh) * | 2011-05-25 | 2011-10-05 | 四川虹微技术有限公司 | 一种确定参考图像像素点扫描顺序的方法 |
CN104506872A (zh) * | 2014-11-26 | 2015-04-08 | 深圳凯澳斯科技有限公司 | 一种平面视频转立体视频的方法及装置 |
-
2016
- 2016-05-04 CN CN201610289100.XA patent/CN106023299B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102208113A (zh) * | 2011-05-25 | 2011-10-05 | 四川虹微技术有限公司 | 一种确定参考图像像素点扫描顺序的方法 |
CN104506872A (zh) * | 2014-11-26 | 2015-04-08 | 深圳凯澳斯科技有限公司 | 一种平面视频转立体视频的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106023299A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102319177B1 (ko) | 이미지 내의 객체 자세를 결정하는 방법 및 장치, 장비, 및 저장 매체 | |
CN104504671B (zh) | 一种用于立体显示的虚实融合图像生成方法 | |
US11830222B2 (en) | Bi-level optimization-based infrared and visible light fusion method | |
CN113052835B (zh) | 一种基于三维点云与图像数据融合的药盒检测方法及其检测系统 | |
CN110378838B (zh) | 变视角图像生成方法,装置,存储介质及电子设备 | |
CN103248906B (zh) | 一种双目立体视频序列的深度图获取方法与系统 | |
CN110827193B (zh) | 基于多通道特征的全景视频显著性检测方法 | |
CN106651853B (zh) | 基于先验知识和深度权重的3d显著性模型的建立方法 | |
CN112989904A (zh) | 风格图像生成方法、模型训练方法、装置、设备和介质 | |
CN110189294B (zh) | 基于深度可信度分析的rgb-d图像显著性检测方法 | |
CN106709931B (zh) | 一种脸谱映射至人脸的方法、脸谱映射装置 | |
KR100560464B1 (ko) | 관찰자의 시점에 적응적인 다시점 영상 디스플레이 시스템을 구성하는 방법 | |
CN106355607B (zh) | 一种宽基线彩色图像模板匹配方法 | |
CN111383232A (zh) | 抠图方法、装置、终端设备及计算机可读存储介质 | |
CN108833877A (zh) | 图像处理方法及装置、计算机装置及可读存储介质 | |
CN108460794B (zh) | 一种双目立体红外显著目标检测方法及系统 | |
KR20140074201A (ko) | 추적 장치 | |
CN106023299B (zh) | 一种基于深度图的虚拟视图绘制方法及系统 | |
CN116569218A (zh) | 图像处理方法和图像处理装置 | |
CN107909611A (zh) | 一种利用微分几何理论提取空间曲线曲率特征的方法 | |
Isakova et al. | FPGA design and implementation of a real-time stereo vision system | |
CN109218706B (zh) | 一种由单张图像生成立体视觉图像的方法 | |
CN109741245A (zh) | 平面信息的插入方法及装置 | |
CN109859306A (zh) | 一种基于机器学习的从照片中提取人体模型的方法 | |
CN110706357B (zh) | 导航系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200401 Address after: 215634 north side of Chengang road and west side of Ganghua Road, Jiangsu environmental protection new material industrial park, Zhangjiagang City, Suzhou City, Jiangsu Province Patentee after: ZHANGJIAGANG KANGDE XIN OPTRONICS MATERIAL Co.,Ltd. Address before: 201203, room 5, building 690, No. 202 blue wave road, Zhangjiang hi tech park, Shanghai, Pudong New Area Patentee before: WZ TECHNOLOGY Inc. |
|
TR01 | Transfer of patent right |