(本文部分内容摘选自http://www.cnblogs.com/ImageVision/archive/2012/03/26/2418602.html,http://www.guokr.com/article/145897/)
第一,我们先看看所谓的3D和2D最大的区别是什么呢?没错,就是图片的深度!所以所有的工作就是恢复或创造这个深度。这个怎么自然恢复深度绝对是一个很难很难的问题,目前最靠谱的方法可能就是人工标定了。
第二,我们来看看怎么表现这个深度,目前我们知道3D影片格式有类似红蓝,绿蓝之类的(这里就不细细讨论了),还有所谓的偏振左右啊 上下什么的格式。这些网上都有具体的资料,大家回去自己慢慢看。
三维立体电视,最好的方式是用两台摄像机按照一定角度,同时拍摄当前的场景,然后将这两个同一时刻拍摄的图像整合叠加,就会形成一个肉眼看起来有点错位模糊的图像,我们称这两张图像分别为左图像和右图像。如果配上特制眼镜或者电视屏本身就有相应设计,我们就可以看到立体电视图像了。但是,实际中往往用两台并按一定角度拍摄,有很多困难。因此,实际中多是只有一个图像,想办法来生成另一个对应的图像。
国内关于这方面的文献很少,而且也是很不精确的解法。比如,假设绝大部分的场景图像,都是图像上半部分是远景,下半部分是近景,然后按照从上到下,逐步给图像一个向左或向右的递增位移,但是并不是所有场景都符合这样的情况。另外,还有根据心里和生理因素,给图像加入随即偏移因子的方法,同样也精度不理想。
二 立体图像生成方法
1 图像分割
目前,用一张图像生成另一张图像,比较精确的方法是,用图像分割的方法,把图像中的各个区域取出来,然后再根据图像的深度,对每个部分进行相应位移,这样的图像效果就合情合理了。
图像分割也有很多方法,作者采用的是基于粗糙集理论的原理,效果图如下(左图为纹理图,右图为加了深度分割后得到的图像):
2 深度图
分割后的图像,并不能直接用来做左图像或右图像。我们还需要根据图像类型,对它每个分割的块赋予一个深度值。一般的,我们可以通过对图像做主直线检测,来判断图像的深度方式。比如第一排图可以检测出一条横线(中间那条路),那么判断它是属于上面远景,下方为近景的类型。这个完全由直线方向来定,如果无法判断时,就默认图像属于上方远景,下方近景类型。
3 分割块的位移
位移公式:
Xc是中间视点的水平坐标,Z是当前像素的深度,f是焦距,tx是瞳孔间距。
4 立体图像生成
调查发现,大约70%的人属于右眼灵敏,20%的属于左眼灵敏,10%的人左右眼都差不多。因此,我们可以将原始图像当做右图像,我们通过分割和深度来生成左图像。
将图3与图4融合之后,就可以生成对应的立体图:
对于电影而言,应用:《泰坦尼克号是怎么从2D转成3D的?》
虽然并不是人人都喜欢3D电影,很多人认为传统电影转换为3D电影的效果,却经常粗制滥造令人失望。詹姆斯·卡梅隆也是这么认为的,但是他决心打破这个偏见,花费了1800万美元将原本已是登峰造极的泰坦尼克号制作成3D电影,于原版播出15年之后再度回归银屏。
简单来说,2D-3D转换技术需要将2D影像的各部分嵌入3D的计算机图形(CG)空间中。要制作出比较协调的自然3D影像,需要数百名工作人员手工进行的大规模调整工作。即便工作量巨大,但一方面可避免购置价格高昂的3D器材,另一方面又可对经典老片进行修补和加工,免去了容颜老去的演员们风采不再、后起小生风韵不足的尴尬,所以2D-3D转换技术获得大批3D电影导演的青睐。即使是直接3D拍摄的电影,也不可避免要用到2D-3D转换技术,比如《阿凡达》。
卡梅隆曾经说过:“在3D转换技术中,最难实现的一点是怎样将其‘以对的方式’来进行转换。”导演需要对每一个场景要营造出怎样的立体视觉效果做出决断,需要确定观众与不同场景物体的“亲密接触”程度,这些对观众的3D观影体验有着至关重要的影响。比如说,怪兽和子弹需要从屏幕里呼啸而出,让观众全身后缩哇呀大叫。而属于背景的场景,则需要“嵌”进屏幕里去,这就需要依靠3D图形学的渲染技术来制造出透视感和距离感。几乎对于影片中的每一帧每一幅图片都要增加这种“前凸后翘”的效果,但是不同场景下所采用的技术又大相径庭,甚至只是拍摄的角度变化了一点,就会带来转换技术上的全盘变动。