1.一种基于深度图的立体图像生成方法,其特征在于,包括以下步骤:S1给定平行双目立体成像系统采集的左视图或右视图及其对应的深度图像,并对给定的这一幅深度图像进行预处理;
S2根据平行双目立体成像原理,通过左视图及其对应的深度图像还原出右视图,或者通过右视图及其对应的深度图像还原出左视图;
S3检测S2中还原得到的视图上的空洞像素点,并根据空洞像素点的深度信息和给定视图信息对还原出的视图进行空洞填补。
2.根据权利要求1所述的基于深度图的立体图像生成方法,其特征在于,步骤S1中,利用形态学滤波和双边滤波对深度图像进行预处理,包括以下步骤:(1)搜索深度图像上的空洞像素点,计算待处理空洞水平方向上最长的行所占的像素点个数,并将其记为s像素长度;
(2)根据s构造n×1的可变直线型形态学结构元素b;
可变直线型形态学结构元素b可表示为矩阵 其中n是根据s的变化而变化的,s为深度图像上待处理空洞水平方向上最长的行所占的像素点个数,结构元素b的原点位于其中心;
(3)用结构元素b对深度图像进行膨胀运算,得到图像A;
膨胀运算公式为:
其中f为待处理图像函数(此处即为图像A),b是结构元素,Df、Db分别表示f、b的定义域,(t,m)为f的像素点坐标,(x,y)为b的像素点坐标;
(4)用结构元素b对图像A进行腐蚀运算,得到图像B;
腐蚀运算公式为:
(f⊙b)(t,m)=min{f(t+x,m+y)-b(x,y)|(t+x),(m+y)∈Df且(x,y)∈Db}其中f为待处理图像函数(此处即为图像B),b是结构元素,Df、Db分别表示f、b的定义域,(t,m)为f的像素点坐标,(x,y)为b的像素点坐标;
(5)用双边滤波对图像B进行滤波,得到预处理后深度图像C。
3.根据权利要求1或2所述的基于深度图的立体图像生成方法,其特征在于,步骤S2中,在平行双目立体成像系统中,左摄像机与右摄像机的参数一致,两摄像机光轴平行且垂直于基线,构成一共极结构,两摄像机拍摄的左视图和右视图只有水平视差,设h为基线,k为相机焦距;
对于空间同一特征点P(x,y,z),在左视图和右视图上的成像坐标分别为p(xl,yl,zl),p(xr,yr,zr),由几何三角知识有: 于是可以得到视差d为d=xl-xr,从而可以得到特征点P在相机坐标系下的三维坐标计算公式为: 其中Z即为特征点P的深度值;
由于h和k是已知的,由深度图像可以得到像素点的深度值Z,如果步骤S1中给出的是左视图,则可以得到左视图上像素点坐标xl,由公式 和d=xl-xr便可求得右视图上对应的像素点坐标xr,还原出右视图;同理如果步骤S1中给出的是右视图,则可以得到右视图上像素点坐标xr,由公式 和d=xl-xr便可求得左视图上对应的像素点坐标xl,还原出左视图。
4.根据权利要求3所述的基于深度图的立体图像生成方法,其特征在于,步骤S3的方法为:S31首先对还原得到的视图上每一个像素点从左到右从上至下进行遍历,搜索还原得到的视图上的空洞像素点,其坐标记为(x,y);
S32根据空洞像素点的深度信息Z,相机参数b和f以及公式 计算出视差值d;
S33根据步骤(2)中求出的视差值d,找到S1中采集的原始左视图或右视图中的坐标为((x,y-d),(x,y+d))的像素点,并将其像素值赋值给还原得到的视图中坐标为(x,y)的像素点,得到空洞修复视图。
5.根据权利要求4所述的基于深度图的立体图像生成方法,其特征在于,步骤S3还包括步骤S34,将空洞修复后的空洞修复视图进行中值滤波,进一步减少噪点,得到最终视图。