一种三维图像矫正的方法及设备转让专利

申请号 : CN201510300383.9

文献号 : CN104935910B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高语函高维嵩陈辉骆俊谕

申请人 : 青岛海信电器股份有限公司

摘要 :

本发明涉及一种三维图像矫正的方法及设备,用以解决目前裸眼3D电视的实际应用,基于深度分层方法的光栅裸眼立体显示产品中,分层可能导致场景物体的割裂或者畸变的问题。本发明的方法包括:根据物体在深度图中占据的分层数量,确定图像中需要进行矫正的物体;针对确定的一个物体,根据物体的深度范围值,减小物体占据的分层数量。由于本发明实施例在裸眼3D电视的实际应用中,增加了对三维图像进行矫正的功能,因而可以根据物体的深度范围值,减小物体在深度图中占据的分层数量,进而改善由于深度分层导致的物体的割裂或者畸变情况。

权利要求 :

1.一种三维图像矫正的方法,其特征在于,该方法包括:

将图像中占据的分层数量大于预设的第一阈值的物体作为需要进行矫正的物体;

针对确定的一个物体,根据所述物体的深度范围值,缩小所述物体的尺度和/或将所述物体在深度方向上进行平移,以减少所述物体在深度图中占据的分层数量。

2.如权利要求1所述的方法,其特征在于,缩小所述物体的尺度,包括:通过尺度变换矩阵和预设的缩小比例值,对所述物体的尺度进行缩小。

3.如权利要求1所述的方法,其特征在于,将所述物体在深度方向上进行平移,包括:根据所述物体的深度范围值,判断所述物体占据的所有分层中景深最大的第一分层和景深最小的第二分层是否是未占满的分层;

若所述第一分层和所述第二分层都是未占满的分层,将位于所述第一分层中所述物体的深度范围值的最大值和最小值相减得到第一差值,将位于所述第二分层中所述物体的深度范围值的最大值和最小值相减得到第二差值,以及将所述第一分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第三差值,将所述第二分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第四差值;

若所述第一差值和所述第二差值相加得到的和,不大于所述第三差值和/或不大于所述第四差值,将所述物体在深度方向上平移;

其中,所述未占满的分层是位于该分层的所述物体的深度范围值小于该分层能够承载的最大深度范围值的分层。

4.如权利要求3所述的方法,其特征在于,将所述物体在深度方向上平移,包括:若所述相加得到的和不大于所述第三差值,且大于所述第四差值,将所述物体在深度方向上向所述第一分层移动;

若所述相加得到的和大于所述第三差值,且不大于所述第四差值,将所述物体在深度方向上向所述第二分层移动。

5.如权利要求3所述的方法,其特征在于,将所述物体在深度方向上平移,包括:若所述相加得到的和不大于所述第三差值,且不大于所述第四差值,将所述第一差值和所述第二差值相减取绝对值得到第五差值;

若所述第五差值大于预设的第三阈值,且所述第一差值大于所述第二差值,将所述物体在深度方向上向所述第一分层移动;

若所述第五差值大于预设的第三阈值,且所述第二差值大于所述第一差值,将所述物体在深度方向上向所述第二分层移动;

若所述第五差值不大于预设的第三阈值,将所述物体在深度方向上向所述第一分层移动。

6.一种三维图像矫正的设备,其特征在于,该设备包括:

确定模块,用于将图像中占据的分层数量大于预设的第一阈值的物体作为需要进行逆视区矫正的物体;

减小模块,用于针对确定的一个物体,根据所述物体的深度范围值,缩小所述物体的尺度和/或将所述物体在深度方向上进行平移,以减少所述物体在深度图中占据的分层数量。

7.如权利要求6所述的设备,其特征在于,所述减小模块具体用于:

通过尺度变换矩阵和预设的缩小比例值,对所述物体的尺度进行缩小。

8.如权利要求6所述的设备,其特征在于,所述减小模块具体用于:

根据所述物体的深度范围值,判断所述物体占据的所有分层中景深最大的第一分层和景深最小的第二分层是否是未占满的分层;若所述第一分层和所述第二分层都是未占满的分层,将位于所述第一分层中所述物体的深度范围值的最大值和最小值相减得到第一差值,将位于所述第二分层中所述物体的深度范围值的最大值和最小值相减得到第二差值,以及将所述第一分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第三差值,将所述第二分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第四差值;若所述第一差值和所述第二差值相加得到的和,不大于所述第三差值和/或不大于所述第四差值,将所述物体在深度方向上平移;其中,所述未占满的分层是位于该分层的所述物体的深度范围值小于该分层能够承载的最大深度范围值的分层。

9.如权利要求8所述的设备,其特征在于,所述减小模块具体用于:

若所述相加得到的和不大于所述第三差值,且大于所述第四差值,将所述物体在深度方向上向所述第一分层移动;若所述相加得到的和大于所述第三差值,且不大于所述第四差值,将所述物体在深度方向上向所述第二分层移动。

10.如权利要求8所述的设备,其特征在于,所述减小模块具体用于:

若所述相加得到的和不大于所述第三差值,且不大于所述第四差值,将所述第一差值和所述第二差值相减取绝对值得到第五差值;若所述第五差值大于预设的第三阈值,且所述第一差值大于所述第二差值,将所述物体在深度方向上向所述第一分层移动;若所述第五差值大于预设的第三阈值,且所述第二差值大于所述第一差值,将所述物体在深度方向上向所述第二分层移动;若所述第五差值不大于预设的第三阈值,将所述物体在深度方向上向所述第一分层移动。

说明书 :

一种三维图像矫正的方法及设备

技术领域

[0001] 本发明涉及摄像技术领域,特别涉及一种三维图像矫正的方法及设备。

背景技术

[0002] 目前,裸眼式观看3D由于不需要用户佩戴相应设备,正成为现在的研究热点。由于人两眼之间有65mm左右的距离,在观看物体时左右眼看到的是具有一定视差的两幅图像,大脑将具有偏移量的两幅图像进行融合,人便感受到物体的立体感。裸眼3D利用该双目偏移量原理将两幅具有视差的图像分别独立送入人的左右眼,从而使用户裸眼观看到立体图像。实际应用中,基于深度分层方法的光栅裸眼立体显示产品中,分层可能导致场景物体的割裂或者畸变。
[0003] 综上所述,目前裸眼3D电视的实际应用,基于深度分层方法的光栅裸眼立体显示产品中,分层可能导致场景物体的割裂或者畸变。

发明内容

[0004] 本发明提供一种三维图像矫正的方法及设备,用以解决目前裸眼3D电视的实际应用,基于深度分层方法的光栅裸眼立体显示产品中,分层可能导致场景物体的割裂或者畸变的问题。
[0005] 本发明实施例提供的一种三维图像矫正的方法,该方法包括:
[0006] 根据物体在深度图中占据的分层数量,确定图像中需要进行矫正的物体;
[0007] 针对确定的一个物体,根据所述物体的深度范围值,减小所述物体占据的所述分层数量。
[0008] 由于本发明实施例在裸眼3D电视的实际应用中,增加了对三维图像进行矫正的功能,因而可以根据物体的深度范围值,减小物体在深度图中占据的分层数量,进而改善由于深度分层导致的物体的割裂或者畸变情况。
[0009] 本发明实施例提供的一种三维图像矫正的设备,该设备包括:
[0010] 确定模块,用于根据物体在深度图中占据的分层数量,确定图像中需要进行矫正的物体;
[0011] 减小模块,用于针对确定的一个物体,根据所述物体的深度范围值,减小所述物体占据的所述分层数量。
[0012] 由于本发明实施例在裸眼3D电视的实际应用中,增加了对三维图像进行矫正的功能,因而可以通过确定模块确定图像中需要进行三维图像矫正的物体,并通过减小模块根据物体的深度范围值,减小物体在深度图中占据的分层数量,进而改善由于深度分层导致的物体的割裂或者畸变情况。

附图说明

[0013] 图1为本发明实施例提供的三维图像矫正的方法流程示意图;
[0014] 图2为本发明实施例提供的3D建模的虚拟场景的示意图;
[0015] 图3为本发明实施例提供的发生畸变的物体的示意图;
[0016] 图4为本发明实施例提供的各个视点的示意图;
[0017] 图5为本发明实施例提供的能够使用矫正方法的图像的示意图;
[0018] 图6为本发明实施例提供的第一种三维图像矫正的方法的整体流程示意图;
[0019] 图7为本发明实施例提供的第二种三维图像矫正的方法的整体流程示意图;
[0020] 图8为本发明实施例提供的缩小尺度并平移后的物体的示意图;
[0021] 图9为本发明实施例提供的三维图像矫正的设备的结构示意图。

具体实施方式

[0022] 本发明实施例根据物体在深度图中占据的分层数量,确定图像中需要进行矫正的物体;针对确定的一个物体,根据物体的深度范围值,减小物体占据的分层数量。由于本发明实施例在裸眼3D电视的实际应用中,增加了对三维图像进行矫正的功能,因而可以根据物体的深度范围值,减小物体在深度图中占据的分层数量,进而改善由于深度分层导致的物体的割裂或者畸变情况。
[0023] 以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0024] 下面结合说明书附图对本发明实施例作进一步详细描述。
[0025] 如图1所示,本发明实施例提供的三维图像矫正的方法,包括:
[0026] 步骤101,根据物体在深度图中占据的分层数量,确定图像中需要进行矫正的物体;
[0027] 步骤102,针对确定的一个物体,根据物体的深度范围值,减小物体占据的分层数量。
[0028] 目前,在裸眼3D电视的实际应用中,基于深度分层方法的光栅裸眼立体显示产品中,分层可能导致场景物体的割裂或者畸变。例如,三维建模得到的视频;或者是能将场景中物体分割出来的情况。这两种情况下,物体的深度信息都是已知的,根据本发明实施例提供的三维图像矫正的方法,能够将图像中的物体根据需要进行缩小。由于本发明实施例在裸眼3D电视的实际应用中,增加了对三维图像进行矫正的功能,因而可以根据物体的深度范围值,减小物体在深度图中占据的分层数量,进而改善由于深度分层导致的物体的割裂或者畸变情况。
[0029] 现有的基于深度分层方法的光栅裸眼立体显示产品中,分层可能导致场景物体的割裂或者畸变,尤其是逆视区的割裂或者畸变现象会更加严重,例如,场景中某些物体可能会占据较大的深度范围,占据多个分层。可以参见图2,为本发明实施例提供的3D建模的虚拟场景的示意图,图中的飞机深度范围较大,这种情况下,若根据深度进行分层,物体会被分在几个层中。
[0030] 而上述物体在进行投影后,物体可能出现割裂,导致物体畸变。例如,具体可以参见图3,为发明实施例提供的发生畸变的物体的示意图,图中飞机前面的飞机头仍为初始大小,但是后面的机身由于被覆盖而变小,使得物体形变,该图中能够明显感到飞机机身被覆盖缩小,飞机出现畸变。针对畸变的物体,可以采用本发明实施例提供的三维图像矫正的方法,改善畸变的问题。
[0031] 其中,本发明实施例提供的三维图像矫正的方法可以应用到裸眼3D电视、裸眼3D显示器件和裸眼3D广告机等各种应用裸眼3D技术的设备或者领域。在下面的介绍中,为了方便说明,均以针对裸眼3D电视中的三维图像进行矫正为例进行说明。
[0032] 实施中,针对三维图像中需要进行矫正的一个或者多个物体,都可以采用本发明实施例提供的三维图像矫正的方法,同时,进行矫正前,需要确定三维图像中需要进行矫正的物体,其中,该物体在不同视点观看到的图像,都需要采用本发明实施例提供的三维图像矫正的方法进行矫正。可以参见图4,为本发明实施例提供的各个视点的示意图,5视点为中间视点,同一物体在不同的视点图中缩放尺度是一致的,且所有视点图同步的进行尺度缩小。
[0033] 在进行矫正前,根据预设的规则确定需要进行三维图像矫正的物体,可选的,确定图像中需要进行矫正的物体,包括:将图像中占据的分层数量大于预设的第一阈值的物体作为需要进行矫正的物体。
[0034] 也就是说,确定需要进行三维图像矫正的物体要通过预设的判断规则来确定,例如,确定物体在图像中占据的分层数量,并判断分层数量是否超过预设的需要调节的分层数量(即第一阈值,如三层及以上),若超过预设的需要调节的分层数量,则确定该物体需要进行矫正。
[0035] 又或者是,物体所处的位置为前景部分,如果从深度图上看算是深度图上大于灰阶范围的1/2,因为离得远时不明显,越靠近形变越厉害。实施中,也可以通过上述举例的两种确定方式相互的结合,确定图像中需要进行矫正的物体。
[0036] 对于实际拍摄的片源,若场景中的物体与背景能够准确的分开,则这种情况下也可以利用本发明实施例提供的三维图像矫正的方法,调整场景中某些物体在深度图中占据的分层数量,改善图像中的物体的畸变,以此进一步改善三维图像的画面质量。例如,可以参考图5,本发明实施例提供的能够使用矫正方法的图像,其中,图5中的飞机能够与背景彻底分开。
[0037] 本发明实施例提供的三维图像矫正的方法的实质是减小物体在深度图中占据的分层数量,当分层数量减小后,可以改善物体由于分层导致的每层之间的割裂或者畸变现象。可选的,减小物体在深度图中占据的分层数量,包括:缩小物体的尺度和/或将物体在深度方向上进行平移,以减少物体在深度图中占据的分层数量。
[0038] 也就是说,本发明实施例提供的三维图像矫正的方法,可以通过多种方式减小物体在深度图中占据的分层数量。例如,通过缩小图像中物体的尺度,由于物体的尺度缩小,即体积缩小,因而物体在图像中占据的分层数量也会相应减少;或者是,通过将物体在深度方向上进行平移,即将物体在深度方向上平移来减小物体在图像中占据的分层数量;又或者是,通过两种方式的结合,也可以达到减小物体在图像中占据的分层数量,下面具体对减小物体在图像中占据的分层数量的方式进行介绍。
[0039] 第一种,缩小物体的尺度。
[0040] 在进行矫正时,可以通过缩小物体的尺度来减小物体在图像中占据的分层数量,可选的,缩小物体的尺度,包括:通过尺度变换矩阵和预设的缩小比例值,对物体的尺度进行缩小。
[0041] 也就是说,在缩小物体尺度时,可以通过现有技术中的尺度变换矩阵对物体的尺度进行缩小,同时,在进行尺度缩小时,要遵循预设的缩小比例值进行缩小,如80%或者90%,此时缩小的并不多,因而用户在观看时,物体在感官上变化也不太大,但是不能无限制的缩小,如果缩的太小可能会影响用户观看。
[0042] 实施中,对物体尺度进行缩小可以使用尺度变换矩阵,例如,对于景深范围较大的物体,利用三维变换缩小物体尺度。三维空间中的点可通过如下矩阵进行尺度变换ν*=Sν,即:
[0043]
[0044] 其中, 表示齐次坐标下原三维空间的点; 表示变换后的点;表示尺度变换矩阵。
[0045] 实际操作中,可以通过改变Sz的大小来改变景深范围,经过变换之后,场景中物体的景深范围缩小,有效改善分层之后的畸变问题。更好的方式是,尺度因子Sx,Sy与Sz均按比例调整,这样可保证物体的形状不会产生较大变化。
[0046] 由于3D建模虚拟出的图像,可以根据其源图形文件直接对场景物体进行调整,因此可以利用三维变换的方法直接在空间中缩小物体的尺度,调整后能够解决场景中物体的畸变,尤其是深度范围较大的物体的畸变问题。
[0047] 为了更加清楚的对本发明实施例提供的三维图像矫正的方法进行介绍,下面以缩小物体的尺度为例进行说明。如图6所示,为本发明实施例提供的第一种三维图像矫正的方法的整体流程示意图,该整体流程包括:
[0048] 步骤601,将图像中占据的分层数量大于预设的第一阈值的物体作为需要进行矫正的物体,并执行步骤602;
[0049] 步骤602,针对确定的一个物体,根据物体的深度范围值,通过尺度变换矩阵和预设的缩小比例值,对物体的尺度进行缩小。
[0050] 除了通过上述缩小物体的尺度的方式,还可以通过将物体在深度方向上进行平移,以改善分层导致的割裂或畸变等。下面具体介绍将物体在深度方向上进行平移的方式。
[0051] 第二种,将物体在深度方向上进行平移。
[0052] 在将物体平移时,需先确定要向分层中的哪一层平移。可选的,将物体在深度方向上进行平移,包括:根据物体的深度范围值,判断物体占据的所有分层中景深最大的第一分层和景深最小的第二分层是否是未占满的分层;其中,未占满的分层是位于该分层的物体的深度范围值小于该分层能够承载的最大深度范围值的分层。
[0053] 实施中,需要判断进行逆视区校正的物体占据的所有分层中,是否有未占满的分层,同时,由于物体移动时,通常是通过平移减少一个分层,即将两个未占满的分层移动到一个分层中,进而减小分层之间的畸变,因而一般需要判断物体在深度方向上的两个端点部分所处的分层是否是未占满的分层。其中,未占满的分层是指物体的深度范围值并没有占满整个分层的深度范围值,即位于该分层的物体的深度范围值小于该分层能够承载的最大深度范围值的分层。
[0054] 例如,假设深度值0~255之间分成五层,即第一层为0~50,第二层为51~100,第三层为101~150,第四层为151~200,第五层为201~255;一幅图像中的物体A,其深度范围值为30~110,因而该物体A占据了第一层、第二层和第三层,其中,第一层(即第二分层)和第三层(即第一分层)都是未占满的分层。
[0055] 判断出未占满的分层之后,还需要确定平移之后,是否能够减少分层的数量。可选的,若第一分层和第二分层都是未占满的分层,将位于第一分层中物体的深度范围值的最大值和最小值相减得到第一差值,将位于第二分层中物体的深度范围值的最大值和最小值相减得到第二差值,以及将第一分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第三差值,将第二分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第四差值;若第一差值和第二差值相加得到的和不大于第三差值和/或不大于第四差值,将物体在深度方向上平移。
[0056] 也就是说,确定出未占满的两个分层之后,还需要确定每个分层中深度范围值的最大值和最小值相减得到的差值(即第一差值和第二差值),再将得到的两个差值相加得到的和,与两个分层中能够承载的最大深度范围值的最大值和最小值相减得到的两个差值(即第三差值和第四差值)进行比较,若相加得到的和不大于两个差值中的部分或者全部(即不大于第三差值和/或不大于第四差值),则可以将物体在深度方向上平移,以减少物体占据的分层数量。
[0057] 例如,还是以物体A为例,物体A的深度范围值为30~110,占据了第一层、第二层和第三层,其中,由于第一层(即第二分层)只占据了30~50,即第二差值为20,第一层的第四差值为50;而第三层(即第一分层)只占据了101~110,即第一差值为9,第三层的第三差值为49;因而第一差值和第二差值的和是29,而29小于第一层的第四差值50和第三层的第三差值49,因而可以确定,能够将物体在深度方向上平移。
[0058] 实施中,确定物体能够在深度方向上平移之后,还需要判断要向哪层平移。而针对相加得到的和是否大于第三差值和/或第四差值,有不同的移动方式。可选的,将物体在深度方向上平移,包括:若相加得到的和不大于第三差值,且大于第四差值,将物体在深度方向上向第一分层移动;
[0059] 也就是说,若相加得到的和不大于第三差值,但大于第四差值,此时,物体可以向第一分层移动,以减小物体占据的分层数量,因而将物体在深度方向上向景深最大的第一分层移动。
[0060] 例如,假设深度值0~255之间分成五层,即第一层为0~50,第二层为51~100,第三层为101~150,第四层为151~200,第五层为201~255;物体B的深度范围值为127~230,占据了第三层、第四层和第五层,其中,由于第三层(即第二分层)只占据了127~150,即第二差值为23,第三层的第四差值为49;而第五层(即第一分层)只占据了201~230,即第一差值为29,第五层的第三差值为54;也就是说,第一差值和第二差值相加得到的和为29+23=52,其中,相加得到的和52不大于第三差值54,但大于第四差值为49,因而只能将物体在深度方向上向第三差值对应的第五层(即第一分层)移动。
[0061] 可选的,将物体在深度方向上平移,包括:若相加得到的和大于第三差值,且不大于第四差值,将物体在深度方向上向第二分层移动。
[0062] 也就是说,若相加得到的和大于第三差值,但不大于第四差值,此时,物体可以向第一分层移动,以减小物体占据的分层数量,因而将物体在深度方向上向景深最大的第一分层移动。
[0063] 例如,假设深度值0~255之间并没有按上述范围分成五层,而是以其他的深度范围值分成了四层,如第一层为0~65,第二层为66~130,第三层为131~190,第四层为191~255;一幅图像中的物体C,其深度范围值为30~160,因而该物体A占据了第一层、第二层和第三层,其中,第一层(即第二分层)和第三层(即第一分层)都是未占满的分层。其中,由于第一层(即第二分层)只占据了30~65,即第二差值为35,第一层的第四差值为65;而第三层(即第一分层)只占据了131~160,即第一差值为29,第三层的第三差值为59;也就是说,第一差值和第二差值相加得到的和为35+29=64,其中,相加得到的和64大于第三差值59,但大于第四差值为65,因而只能将物体在深度方向上向第四差值对应的第一层(即第二分层)移动。
[0064] 可选的,将物体在深度方向上平移,包括:若相加得到的和不大于第三差值,且不大于第四差值,将第一差值和第二差值相减取绝对值得到第五差值;若第五差值大于预设的第三阈值,且第一差值大于第二差值,将物体在深度方向上向第一分层移动。
[0065] 也就是说,若相加得到的和即不大于第三差值,也不大于第四差值,则计算第一差值和第二差值之间的差值(即第五差值),当第一差值和第二差值之间相差较大(即第五差值大于预设的第三阈值),同时,第一差值比第二差值大时,将物体在深度方向上向景深最大的第一分层移动。
[0066] 例如,假设深度值0~255之间分成五层,即第一层为0~50,第二层为51~100,第三层为101~150,第四层为151~200,第五层为201~255;物体D的深度范围值为40~130,占据了第一层、第二层和第三层,其中,由于第一层(即第二分层)只占据了40~50,即第二差值为10;而第三层(即第一分层)只占据了101~130,即第一差值为29;也就是说,第五差值为29-10=19,假设预先设定第三阈值为5,由于第五差值19大于第三阈值5,且第一差值29大于第二差值10,因而将物体在深度方向上向景深最大的第三层(即第一分层)移动。
[0067] 可选的,若第五差值大于预设的第三阈值,且第二差值大于第一差值,将物体在深度方向上向第二分层移动。
[0068] 也就是说,当第一差值和第二差值之间相差较大(即第五差值大于预设的第三阈值),同时,第二差值比第一差值大时,将物体在深度方向上向景深最小的第二分层移动。
[0069] 例如,假设深度值0~255之间分成五层,即第一层为0~50,第二层为51~100,第三层为101~150,第四层为151~200,第五层为201~255;还是以物体A为例,物体A的深度范围值为30~110,占据了第一层、第二层和第三层,其中,由于第一层(即第二分层)只占据了30~50,即第二差值为20;而第三层(即第一分层)只占据了101~110,即第一差值为9;也就是说,第五差值为20-9=11,假设预先设定第三阈值为5,由于第五差值11大于第三阈值5,且第二差值20大于第一差值9,因而将物体在深度方向上向景深最小的第一层(即第二分层)移动。
[0070] 可选的,若第五差值不大于预设的第三阈值,将物体在深度方向上向第一分层移动。
[0071] 也就是说,当第一差值和第二差值之间相差较小(即第五差值不大于预设的第三阈值),则将物体在深度方向上向景深最大的第一分层移动。
[0072] 例如,假设深度值0~255之间分成五层,即第一层为0~50,第二层为51~100,第三层为101~150,第四层为151~200,第五层为201~255;物体E的深度范围值为30~130,占据了第一层、第二层和第三层,其中,由于第一层(即第二分层)只占据了30~50,即第二差值为20;而第三层(即第一分层)只占据了101~120,即第一差值为19;也就是说,第五差值为20-19=1,假设预先设定第三阈值为5,由于第五差值1不大于第三阈值5,因而将物体在深度方向上向景深最大的第三层(即第一分层)移动。
[0073] 实施中,对于场景中景深范围较小的物体,可以在源文件中直接将物体在深度方向上进行平移时,三维空间中的点平移的方法是ν*=Tν,即:
[0074]
[0075] 其中, 表示齐次坐标下原三维空间的点; 表示变换后的点;为平移矩阵。
[0076] 平移之后,物体处于弱3D区域,并且可以保证物体处于同一深度层之内,这样能够保证物体内部不会被割裂,外部不会与其他物体碰撞挤压。
[0077] 为了更加清楚的对本发明实施例提供的三维图像矫正的方法进行介绍,下面以将物体在深度方向上进行平移,以减少物体在深度图中占据的分层数量为例进行说明,其中,第一差值和第二差值相加得到的和即不大于第三差值也不大于第四差值。如图7所示,为本发明实施例提供的第二种三维图像矫正的方法的整体流程示意图,该整体流程包括:
[0078] 步骤701,将图像中占据的分层数量大于预设的第一阈值的物体作为需要进行矫正的物体,并执行步骤702;
[0079] 步骤702,针对确定的一个物体,根据物体的深度范围值,判断物体占据的所有分层中景深最大的第一分层和景深最小的第二分层是否是未占满的分层,若是,则执行步骤703,否则,结束本流程;
[0080] 步骤703,将位于第一分层中物体的深度范围值的最大值和最小值相减得到第一差值,将位于第二分层中物体的深度范围值的最大值和最小值相减得到第二差值,以及将第一分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第三差值,将第二分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第四差值,并执行步骤704;
[0081] 步骤704,判断第一差值和第二差值相加得到的和是否即不大于第三差值也不大于第四差值,若是,则执行步骤705,否则,结束本流程;
[0082] 步骤705,将第一差值和第二差值相减得到第五差值,并执行步骤706;
[0083] 步骤706,判断第五差值是否大于预设的第三阈值,若是,则执行步骤707,否则,执行步骤708;
[0084] 步骤707,判断第一差值是否大于第二差值,若是,则执行步骤708,否则,执行步骤709;
[0085] 步骤708,将物体在深度方向上向第一分层移动;
[0086] 步骤709,将物体在深度方向上向第二分层移动。
[0087] 除了上述第一种和第二种方式外,还可以将两种方式进行结合,对图像中物体进行矫正,下面具体进行介绍。
[0088] 第三种,缩小物体的尺度和将物体在深度方向上进行平移。
[0089] 实施中,可以将缩小物体的尺度和将物体在深度方向上进行平移两种方式进行结合,可选的,先对物体进行尺度的缩小,再对物体进行平移;也就是说,尺度变换之后,为更进一步改善图像质量,可根据深度情况按照上述方法进行平移。
[0090] 例如,假设深度值0~255之间分成五层,即第一层为0~50,第二层为51~100,第三层为101~150,第四层为151~200,第五层为201~255;图像中的物体D的深度范围值为30~180,占据了第一层、第二层、第三次和第四层,假设将物体的尺度缩小到80%,缩小后物体占据的深度范围值为45~165,此时,物体仍然占据第一层、第二层、第三次和第四层,但由于物体占据的第一层和第四层都是未占满的分层,由于缩小后第一层(即第二分层)只占据了45~50,即第二差值为5;而第四层(即第一分层)只占据了151~180,即第一差值为
29;也就是说,第五差值为29-5=24,假设预先设定第三阈值为5,由于第五差值24大于第三阈值5,因而将物体在深度方向上向景深最大的第一分层移动。
[0091] 其中,上述列举的物体D的例子只是为了说明如何将两种方式结合起来,以减小物体在深度图中占据的分层数量,实施中,若是满足能缩小的条件,可以先对物体进行缩小,之后再对物体进行平移;若是缩小前不满足平移的条件,缩小后有可能就能够满足平移的条件,可以在缩小后对物体再进行平移。实际上,两种方式可以不限定其实施的先后顺序,只要能够达到减小物体在深度图中占据的分层数量即可。
[0092] 通过上述三种减小物体在深度图中占据的分层数量方式,可以对图3中发生畸变的飞机进行调整,以改善由于分层导致的畸变,调整后的图像可以参见图8,本发明实施例提供的缩小尺度并平移后的物体的示意图;调整之后飞机的尺度变小,并且在空间中进行了平移。根据相同的方法依次得到相邻的视点图像。
[0093] 基于同一发明构思,本发明实施例中还提供了一种三维图像矫正的设备,由于图9的设备对应的方法为本发明实施例一种三维图像矫正的方法,因此本发明实施例设备的实施可以参见方法的实施,重复之处不再赘述。
[0094] 如图9所示,本发明实施例提供的三维图像矫正的设备,该设备包括:确定模块901和减小模块902;
[0095] 确定模块901,用于根据物体在深度图中占据的分层数量,确定图像中需要进行矫正的物体;
[0096] 减小模块902,用于针对确定的一个物体,根据物体的深度范围值,减小物体占据的分层数量。
[0097] 可选的,确定模块901具体用于:
[0098] 将图像中占据的分层数量大于预设的第一阈值的物体作为需要进行逆视区矫正的物体。
[0099] 可选的,减小模块902具体用于:
[0100] 缩小物体的尺度和/或将物体在深度方向上进行平移,以减少物体在深度图中占据的分层数量。
[0101] 可选的,减小模块902具体用于:
[0102] 通过尺度变换矩阵和预设的缩小比例值,对物体的尺度进行缩小。
[0103] 可选的,减小模块902具体用于:
[0104] 根据物体的深度范围值,判断物体占据的所有分层中景深最大的第一分层和景深最小的第二分层是否是未占满的分层;若第一分层和第二分层都是未占满的分层,将位于第一分层中物体的深度范围值的最大值和最小值相减得到第一差值,将位于第二分层中物体的深度范围值的最大值和最小值相减得到第二差值,以及将第一分层和第二分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第三差值,将第二分层对应的能够承载的最大深度范围值的最大值和最小值相减得到第四差值;若第一差值和第二差值相加得到的和不大于第三差值和/或不大于第四差值,将物体在深度方向上平移;其中,未占满的分层是位于该分层的物体的深度范围值小于该分层能够承载的最大深度范围值的分层。
[0105] 可选的,减小模块902具体用于:
[0106] 若相加得到的和不大于第三差值,且大于第四差值,将物体在深度方向上向第一分层移动;若相加得到的和大于第三差值,且不大于第四差值,将物体在深度方向上向第二分层移动。
[0107] 可选的,减小模块902具体用于:
[0108] 若相加得到的和不大于第三差值,且不大于第四差值,将第一差值和第二差值相减取绝对值得到第五差值;若第五差值大于预设的第三阈值,且第一差值大于第二差值,将物体在深度方向上向第一分层移动;若第五差值大于预设的第三阈值,且第二差值大于第一差值,将物体在深度方向上向第二分层移动;若第五差值不大于预设的第三阈值,将物体在深度方向上向第一分层移动。
[0109] 从上述内容可以看出:由于本发明实施例在裸眼3D电视的实际应用中,增加了对三维图像进行矫正的功能,因而可以根据物体的深度范围值,减小物体在深度图中占据的分层数量,进而改善由于深度分层导致的物体的割裂或者畸变情况。
[0110] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全应用软件实施例、或结合应用软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0111] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0112] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0113] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0114] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0115] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。