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

文档序号:9220090阅读:来源:国知局
行缩小。
[0041] 也就是说,在缩小物体尺度时,可以通过现有技术中的尺度变换矩阵对物体的尺 度进行缩小,同时,在进行尺度缩小时,要遵循预设的缩小比例值进行缩小,如80%或者 90%,此时缩小的并不多,因而用户在观看时,物体在感官上变化也不太大,但是不能无限 制的缩小,如果缩的太小可能会影响用户观看。
[0042] 实施中,对物体尺度进行缩小可以使用尺度变换矩阵,例如,对于景深范围较大的 物体,利用三维变换缩小物体尺度。三维空间中的点可通过如下矩阵进行尺度变换v# = Sv,即:
[0043]
[0044] 其#
I示齐次坐标下原三维空间的点;
g示变换后的点;
示尺度变换矩阵。
[0045] 实际操作中,可以通过改变32的大小来改变景深范围,经过变换之后,场景中物体 的景深范围缩小,有效改善分层之后的畸变问题。更好的方式是,尺度因子3 !£,57与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之间分成五层,S卩第一层为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之间并没有按上述范围分成五层,而是以其他的深度范 围值分成了四层,如第一层为〇~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之间分成五层,S卩第一层为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] 可选的,若第五差值大于预设的第三阈值,且第二差值大于第一差值,将物体在深 度
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1