一种3d图像的视差图生成方法及系统的制作方法
【技术领域】
[0001] 本发明涉及3D显示领域,尤其涉及的是一种3D图像的视差图生成方法及系统。
【背景技术】
[0002] 一般来说,3D (t虹ee-dimensional,H维)图像通常由两路图像组成,对应于某一 特定的观看角度在人眼中便可实现3D效果,形成立体感,让人眼看上去就像真的一样。根 据送两路视频所包含的视差信息,可W生成新的观看角度所对应的图像,送是裸眼3D电视 的关键所在。现有的由输入图像来计算视差图,第一步通常是进行块匹配,然后是采用不同 的方法优化块匹配的结果,W获得较为准确的结果。但现有的优化块匹配结果的全局算法 过于复杂,用硬件实现存在巨大的困难,而非全局算法则无法给出令人满意的结果,因此现 有的获取视差图的方法中视差图准确率低,带来了大大的不便。若将该问题构造成隐马尔 可夫模型化idden Markove Model),从而引入维特比算法求视差图的最佳解,送样的方法 可将计算量减少到硬件实现成为可能的程度。但该方法在使用维特比算法时假设行与行之 间是独立的,所W计算所得的视差图容易产生"拖尾"(streaking)现象。
[0003] 因此,现有技术还有待于改进和发展。
【发明内容】
[0004] 本发明要解决的技术问题在于,提供一种3D图像的视差图生成方法及系统,旨在 解决现有的视差图生成方法硬件实现困难,准确率低、使用所得的视差图容易产生拖尾现 象的问题。
[0005] 本发明解决技术问题所采用的技术方案如下: 一种3D图像的视差图生成方法,其中,包括W下步骤: 51、 对3D图像的左图像和右图像进行灰度处理,得到对应的灰度信息; 52、 对所述左图像和右图像的灰度信息进行块匹配处理,得到包含视差图信息的H维 矩阵; 53、 对所述H维矩阵的每一行进行代价矩阵处理,得到每一行对应的代价矩阵; 54、 根据预先设置的同一行相邻点的视差差值视差约束条件、相邻两行相同水平位置 点的视差差值约束条件和优化目标函数,构造隐马尔可夫模型对每一行对应的代价矩阵进 行优化,并采用维特比算法找出每一行使所述优化目标函数值最小时对应的视差; 55、 根据每一行所述的视差生成所述3D图像的视差图。
[0006] 所述的3D图像的视差图生成方法,其中,所述步骤Sl具体包括: S11、将所述左图像和右图像进行灰度处理,具体为;I=R+G+B,其中,R,G,B为所述 左图像和右图像中每个像素点转换前的分量值;I为每个像素点转换后的灰度值,且I 取R、G和B之和的高8位。
[0007] 所述的3D图像的视差图生成方法,其中,所述步骤S2具体包括: S21、定义Wxj)和托>,)分别为左图像和右图像的灰度信息,其中,W左上角的点 为原点,点为图像的水平和垂直方向的坐标; 522、 通过块匹配函数对所述左图像和右图像的灰度信息进行块匹配处理,所述块匹配 函数为:
,其中,h为一整数,其 取值范围在1到4之间,整数d定义在区间
均为整数; 523、 将左图像向右水平位移d个像素点,通过所述块匹配函数计算位移后的左图像与 右图像W点(x,y)为中必、(2h+ l)*(2h+l)个点对点之间的差值之和,从而得到对应的包 含视差图信息的H维矩阵。
[0008] 所述的3D图像的视差图生成方法,其中,所述步骤S3具体包括: S31、对所述H维矩阵的每一行进行代价矩阵处理;所述H维矩阵为X*Y*(cLx-cL。+ 1) 的H维矩阵,其中,X和Y分别为3D图像垂直方向和水平方向上的像素数量;通过所述块 匹配函数计算第m行的代价矩阵
,其中, yE [l,Y],mE [1,X],K= dmax-dmin+ 1。
[0009] 所述的3D图像的视差图生成方法,其中,所述步骤S4具体包括: 541、 设第m行视差为D =IDi,…,Dy },其中,屯1。《0^《(^,1《7《¥;所述视差约 束条件为
表示第m行第y个 像素的视差,所述视差约束条件即为同一行相邻的视差的差异不超过某一正整数N,及相邻 两行相同水平位置点之间的视差的差异不超过某一正整数M ; 542、 定义第一代价函数
;其中,当X > N时,(6(6(63為纖;定义第二代价函数;/|^胃满足:
;其中,当x〉M时, 而W二的; 543、 定义第m行的优化目标函数为:
,其中, /m化,3^) 为所述代价矩阵賴责中的第Dy行第y列的元素; 544、 对每一行对应的代价矩阵进行优化,通过维特比算法找出使优化目标函数 笠媒^;|龙I;最小的视差D作为该第m行的视差,即得化胃。
[0010] 所述的3D图像的视差图生成方法,其中,所述步骤S5包括: 551、 根据所述H维矩阵的每一行对应的视差构成对应的X行Y列的视差矩阵; 552、 所述视差矩阵即为所述3D图像对应的视差图。
[0011] 一种3D图像的视差图生成系统,其中,包括: 灰度获取模块,用于分别对3D图像的左图像和右图像进行灰度处理,得到对应的灰度 信息; 块匹配处理模块,用于对所述左图像和右图像的灰度信息进行块匹配处理,得到包含 视差图信息的H维矩阵; 代价矩阵处理模块,用于对所述H维矩阵的每一行进行代价矩阵处理,得到每一行对 应的代价矩阵; 视差优化计算模块,用于根据预先设置的同一行相邻点的视差差值视差约束条件、相 邻两行相同水平位置点的视差差值约束条件和优化目标函数,构造隐马尔可夫模型对每一 行对应的代价矩阵进行优化,并采用维特比算法找出每一行使所述优化目标函数值最小时 对应的视差; 视差图生成模块,用于根据每一行所述的视差生成所述3D图像的视差图。
[0012] 所述的3D图像的视差图生成系统,其中,所述块匹配处理模块包括: 块匹配计算单元,用于定义和Jj(Xx)分别为左图像和右图像的灰度 信息,其中,W左上角的点为原点,点为图像的水平和垂直方向的坐标;通过块 匹配函数对所述左图像和右图像的灰度信息进行块匹配处理,所述块匹配函数为:
,其中,h为一整数,其取值范围 在1到4之间,整数d定义在区间!:達,*沒 1上,苗、和浸 均为整数; L.厳娘9扮谅… till巧 鉛纖 H维矩阵生成单元,用于将左图像向右水平位移d个像素点,通过所述块匹配函数计 算位移后的左图像与右图像W点(X,y)为中必、(2h+ l)*(2h+l)个点对点之间的差值之 和,从而得到对应的包含视差图信息的H维矩阵。
[0013] 所述的3D图像的视差图生成系统,其中,所述代价矩阵处理模块包括: 代价矩阵计算单元,用于对所述H维矩阵的每一行进行代价矩阵处理;所述 S维矩阵为料Y* (cU-dmm+ 1)的S维矩阵,其中,X和Y分别为3D图像垂直方向 和水平方向上的像素数量;通过所述块匹配函数计算第m行的代价矩阵为
,其中,y e [l,Y],m e [1,X],K= cU-cU+ 1。
[0014] 所述的3D图像的视差图生成系统,其中,所述视差优化计算模块包括: 约束条件设置单元,用于设第m行视差为D =化1,…,Dy },其中, 1《y《Y;所述视差约束条件为
,其中, 想;表示第m行第y个像素的视差,所述视差约束条件即为同一行相邻的视差的差异 不超过某一正整数N,及相邻两行相同水平位置点之间的视差的差异不超过某一正整数M ; 代价函数设置单元,用于定义第一代价函数满足:
;其中,当X > N时, 蜡(尤)二W ;定义第 二代价函数
;其中,当x〉M时, 而(王)二的. 优化目标函数设置单元,用于定义第m行的优化目标函数为:
其中, 糸梦|码:,護I为所述代价矩阵J縣>冲的第Dy行第y列的元素; 视差计算单元,用于对每一行对应的代价矩阵进行优化,通过维特比算法找出使优化 目标函数