一种基于匹配加权的斜纹光栅立体原图填充方法与流程

文档序号:24347297发布日期:2021-03-19 12:31阅读:69来源:国知局
一种基于匹配加权的斜纹光栅立体原图填充方法与流程

本发明属于裸眼3d显示技术领域,更具体地,涉及一种基于匹配加权的斜纹光栅立体原图填充方法。



背景技术:

在3d显示器领域,目前由于国外器械较为昂贵,导致市场需求量较小,因而从降低器械成本来降低出售价格来换取市场潜力是十分有必要的。而国内现在仍处于起步阶段,尽管有不少厂商已研发出一定规模生产的裸眼3d显示器,但其效果并未达到国外水平。

基于柱镜光栅的裸眼3d显示器,即在其显示平面上装配柱镜光栅,具有无需佩戴外设设备便能获取良好3d观感的特点,更加适合于目前市场需求。基于柱镜光栅的裸眼3d显示器的基本原理是根据双眼视差原理并依靠柱镜光栅对于光线的独特分离与放大性质从而使人脑产生3d立体观感;使用斜纹柱镜光栅来平衡水平视差以及垂直视差,从而缓和观察者在观看裸眼3d显示器的晕眩感。

但在制作基于斜纹柱镜光栅的裸眼3d显示器所需立体原图中,由于斜纹光栅的倾斜特性限制导致其参数代入子像素映射公式后将可能得到分数视点。分数视点意味着一个子像素将会被映射到不同的视点,从而导致成图模糊有重影,串扰程度加深,并且由于分数子像素会错误映射,导致成图的边缘细节大部分丢失,造成裸眼3d显示效果不尽人意。

因此,为了获得良好的立体观感,细节处理有非常重要的研究价值。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于匹配加权的斜纹光栅立体原图填充方法,其目的在于解决目前裸眼3d显示原图由于存在分数子像素,而造成的成图边缘细节丢失,影响显示效果的问题。

为实现上述目的,本发明提供了一种基于匹配加权的斜纹光栅立体原图填充方法,包括:

s1.对待采样的初始视点图像进行顺序编号;

s2.将用于显示立体原图的设备参数代入子像素视点映射公式,得到待填充的立体原图中每个子像素所对应的视点编号;

s3.逐行逐列对待填充的立体原图中每个子像素所对应的视点编号执行以下步骤,得到填充完整的立体原图:

01.读取当前子像素对应的视点编号和在立体原图中所处位置(l,k);

02.若视点编号为非零整数,则转入步骤03;若视点编号为0,根据视点编号数量将其调整为整数,转入步骤03;若视点编号为分数,则转入步骤04;

03.选择步骤s1中对应编号的初始视点图像,并利用该图像中(l,k)位置子像素填充入立体原图中当前子像素位置;

04.判断当前子像素所在的全像素与周边全像素是否处于同一物体中;若是,对当前子像素进行反距离加权填充;若否,对当前视点编号进行最邻近取整,利用步骤03进行子像素填充。

进一步地,步骤s1具体为,按照从最右视点开始,最左视点结束的顺序对待采样的初始视点图像进行编号。

进一步地,步骤s2中待填充的立体原图中每个子像素所对应的视点编号根据编号顺序确定是否进行反体视处理,具体为:

若编号从最左视图开始编号至最右视图,则需要进行反体视处理;反之则无需处理。

进一步地,步骤02中所述若视点编号为0,根据视点数量将其调整为整数,具体为,调整为第一视点编号、最终视点编号或居中视点编号。

进一步地,步骤04所述判断当前子像素所在的全像素与周边全像素是否处于同一物体中,具体包括:

根据当前视点编号的分数值,得到当前子像素的左临近视点编号nmin和右临近视点编号nmax;其中,临近视点编号对应步骤s1中初始视点图像编号;

分别对左临近视点编号nmin和右临近视点编号nmax对应图像的(l,k)位置子像素所在全像素的rgb色域进行读取;

对读取到的两个rgb色域值计算色差;若色差小于设定阈值,则判定当前子像素所在全像素与周边全像素处于相同物体中;若色差大于设定阈值,则判定不在同一物体。

进一步地,步骤04所述对当前子像素进行反距离加权填充,具体包括:

计算当前子像素的视点编号与nmax和nmin的距离差,得到第一差值wm和第二差值wn;其中wm=nmax-n,wn=n-nmin;

将wm与nmin视点的待采样原始图像中对应子像素值的乘积和wn与nmax视点的待采样原始图像中对应子像素值的乘积之和作为立体原图对应子像素的像素值。

进一步地,步骤04所述对当前视点编号进行最邻近取整,利用步骤03进行子像素填充,具体包括:

判断当前视点编号取整后是否大于现有视点编号;若是,将其调整为第一视点编号、最终视点编号或居中视点编号后,利用步骤03进行子像素填充;若否,根据取整编号利用步骤03进行子像素填充。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果,有益效果如下:

本发明方法在立体原图合成过程中,对分数子像素的填充进行了改进,具体地,通过像素匹配对位于分数视点图像编号处的子像素所在的全像素所属对象与其临近视点像素所属对象之间的关系进行判断,进而选择使用反距离加权填充,或就近取整的方法获取子像素的值,对比现有方法,本发明方法所产生的立体原图在斜纹光栅的作用下,其图像粗糙感明显得到改善,画面更显细腻、细节更良好,抑制了串扰现象,减少了由于视差较小时串扰过多导致的假3d效果出现。

附图说明

图1是本发明提供的基于匹配加权的斜纹光栅立体原图填充方法流程图;

图2本发明提供的分数子像素映射示意图;

图3本发明提供的子像素色差判别示意图;

图4本发明提供的子像素反距离填充示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

参考图1,本发明提供的一种基于匹配加权的斜纹光栅立体原图填充方法,包括:

s1.对待采样的初始视点图像进行顺序编号;

为更符合人眼视觉习惯,本发明实施例按照从最右视点开始,最左视点结束的顺序对待采样的初始视点图像进行编号。

s2.将用于显示立体原图的设备参数代入子像素视点映射公式,得到待填充的立体原图中每个子像素所对应的视点编号;

视点编号应根据编号顺序确定是否进行反体视处理:若编号从最左视图开始编号至最右视图,则需要进行反体视处理。若编号从最右视图开始编号至最左视图,则无需进行反体视处理。该处理的存在可使观察者的立体观感符合实际目标观感,否则将在左端看到物体右端的像,在右端看到物体左端的像。

s3.逐行逐列对待填充的立体原图中每个子像素所对应的视点编号执行以下步骤,得到填充完整的立体原图:

01.读取当前子像素对应的视点编号和在立体原图中所处位置(l,k);

02.若视点编号为非零整数,则转入步骤03;若视点编号为0,根据视点编号数量将其调整为整数,一般调整为第一视点编号、最终视点编号或居中视点编号,转入步骤03;若视点编号为如图2所示的分数,则转入步骤04;图2中所示分数仅为举例,视点编号n的准确获取取决于子像素映射公式。

03.选择步骤s1中对应编号的初始视点图像,并利用该图像中(l,k)位置子像素填充入立体原图中当前子像素位置;若遍历至立体原图的(l,k)子像素位置,该位置对应的视点编号为n,则读取步骤s1中对应编号为n的初始视点图像,并读取在该初始视点图像(l,k)位置的子像素值,继而将该初始视点图像(l,k)位置的子像素值填充入立体原图的(l,k)子像素位置;

04.判断当前子像素所在的全像素与周边全像素是否处于同一物体中;若是,对当前子像素进行反距离加权填充;若否,对当前视点编号进行最邻近取整,利用步骤03进行子像素填充。如图3所示,左右两个“+”所对准像素不处于同一物体中,判断其不在同一物体中的准则是其色差超过了一定阈值。

其中,判断当前子像素所在的全像素与周边全像素是否处于同一物体中,具体包括:根据当前视点编号的分数值,得到当前子像素的左临近视点编号nmin和右临近视点编号nmax;其中,临近视点编号对应步骤s1中初始视点图像编号;分别对左临近视点编号nmin和右临近视点编号nmax对应图像的(l,k)位置子像素所在全像素的rgb色域进行读取;对读取到的两个rgb色域值计算色差;若色差小于设定阈值,则判定当前子像素所在全像素与周边全像素处于相同物体中;若色差大于设定阈值,则判定不在同一物体。阈值设定要视图像种类而定,处于同一物体意味着其视差较小,不在同一物体则会有较大视差,而阈值的选取标准为需保证在使用反距离加权的方法时处于视差较小的状态,在视差较大时使用反距离加权将会产生错误的加权填充,因而一般阈值取该图像的视差范围内的某一数值。

对当前子像素进行反距离加权填充,具体包括:计算当前子像素的视点编号与nmax和nmin的距离差,得到第一差值wm和第二差值wn;其中wm=nmax-n,wn=n-nmin;根据反距离加权的原理对对应子像素进行填充,即wm作为加权因子与nmin视点的待采样原始图像中对应子像素值的乘积和wn作为加权因子与nmax视点的待采样原始图像中对应子像素值的乘积之和作为立体原图对应子像素的像素值;如图4所示,若某全像素中r子像素所获n为1.2,则选择第一张视点的待采样原始图像及第二张初始视点图像进行反距离加权填充,即以2-n作为加权因子与第一张视点的待采样原始图像中对应子像素值的乘积和n-1作为加权因子与第二张视点的待采样原始图像中对应子像素值的乘积之和作为立体原图对应子像素的像素值;余下子像素以此类推。

对当前视点编号进行最邻近取整,利用步骤03进行子像素填充,具体包括:判断当前视点编号取整后是否脱离现有视点编号范围;若是,将其调整为第一视点编号、最终视点编号或居中视点编号后,利用步骤03进行子像素填充;若否,根据取整编号利用步骤03进行子像素填充。

本发明方法与目前现有已知立体原图填充方法区别在于,现有立体原图填充方法大多以向上取整或向下取整的方法处理从子像素映射公式中获取的视点编号,如得到为4.7的视点编号,向上取整为5将会造成4号视点的错误,向下取整为4将会造成5号视点的错误。而本发明方法将会对从子像素映射公式中获取的视点编号进行判断,并结合是否处于同一物体的判断,对立体原图的对应子像素位置进行反距离加权填充或最邻近取整填充。

本发明方法较现有方法产生的好处的原因分析如下:

首先,此法对比原方法,在立体原图合成过程中通过反距离加权处理步骤填充位于分数视点图像编号的子像素,据此获得的位于分数视点图像编号处的子像素实际上包含了其临近视点子像素的信息,相当于进行了插值,增强了子像素变化的连续性,能够改善原方法通过取整获取对应子像素所导致的图像观察粗糙感强烈的缺点,提升了图像观察时的细腻感,使图像显示更加真实。通过直接观察来与原方法进行对比,能够看出本发明方法所产生的立体原图在斜纹光栅下的显示效果,其图像粗糙感明显得到改善,画面更加细腻。

其次,本发明方法在立体原图合成过程中利用像素匹配处理步骤选取子像素填充方法,获取位于分数视点图像编号的子像素的值。通过像素匹配,判断位于分数视点图像编号处的子像素所在的全像素所属对象与其临近视点像素所属对象是否一致,进而选择使用反距离加权填充或者就近取整的方法来获取子像素的值,能够保证在上述子像素为不属于同一对象时,避免通过反距离加权填充子像素所产生的串扰现象,从而减少了由于视差较小时串扰过多导致的假3d效果。通过直接观察来与原方法进行对比,能够看出此法所产生的立体原图在斜纹光栅下的显示效果,其显示的粗糙感明显得到改善,画面更加细腻的同时,抑制了串扰现象,减少了由于视差较小时串扰过多导致的假3d效果出现。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1