基于单幅图像的2D转3D算法研究
来源:互联网 发布:个性化排序算法 编辑:程序博客网 时间:2024/03/28 23:22
目前的3D技术大体分为两种:软件技术和硬件技术。所谓硬件技术就是在拍摄影片时采用多摄像头及各种3D相关设备来拍摄片源;所谓软件技术就是将2D片源通过一定的软件转换为3D格式。
如何使用软件技术将2D转为3D呢?今天我们来研究一种基于单幅图像的3D转换算法。
首先,我们要了解一种最简单的红蓝3D技术,所谓的2D图像转3D图像,它需要两幅有视差的图像来合成一张具有3D信息的效果图,实际上就是用一幅图像包含两张图像的信息。如何实现这一点呢?我们知道在RGB颜色空间中,图像中的每个像素都可以都包含R,G,B三个颜色分量,比如:纯红色(255,0,0),纯绿色(0,255,0),纯蓝色(0,0,255)等。
纯红色(255,0,0)的补色为青色(0,255,255),这两种颜色互不包含,是互补的关系,也就是说,基于这种补色关系,我们有如下结果:
假设图像A的像素M(x,y)的RBG为(R1,G1,B1),图像B的像素N(x,y)的RGB为(R2,G2,B2),我们所需要的3D图像S对应像素O(x,y)的RGB值可计算如下(红蓝模式):
O(R,G,B) = (R1,G2,B2) 或
O(R,G,B) = (R2,G1,B1)
以上两个公式中,任何一个,都包含了其中一张图像的R信息,和另一张图像的G,B信息,由于红色的补色是青色,这两个是互不包含的关系,因此,以上公式得到的结果中就包含了两张图像的信息了。
对于红蓝眼镜,其中两个镜片的颜色正是红色和青色,这样,图像经过镜片进入我们眼睛时,实际上就包含了两幅图像信息(一幅图像的R信息,另一幅图像的G,B信息),从而产生了立体感觉。
基于以上原理,我们可以用PS,方便的将如下两张有视差的图像转换为一张红蓝3D图像:
注:以上原始图1,2像来自于网络
4,按照前文所述红蓝3D原理,将图像A,C转为S,S就是一副3D图像了。
这里附上我自己的效果图:
- 基于单幅图像的2D转3D算法研究
- 利用单幅图像重建人脸3D candide 模型的几篇文章
- 基于单幅图像的快速去雾算法
- 基于单幅图像的快速去雾算法实现
- 3D图像算法
- 2D 图像算法
- 基于RGB-D图像的3D人脸重建
- k-d tree算法的研究[转]
- 基于单幅图像的深度估计
- 【3D图像生成算法的原理】
- 基于暗通道先验的单幅图像去雾算法小结
- 单幅图像基于暗通道的图像去雾
- 单幅图像基于暗通道的图像去雾
- 单幅图像基于暗通道的图像去雾
- 基于多幅图像的3D重建资料
- 基于光学导航系统,矩阵变换和3D-2D配准研究
- k-d树算法的研究
- k-d tree算法的研究
- Java IO体系之强大的RandomAccessFile
- java 调用webservice时抛异常(Fault occurred while processing)的解决方案
- jstl fmt标签的使用
- EXCEL技巧
- hdu 1429胜利大逃亡(续)
- 基于单幅图像的2D转3D算法研究
- ipc 通讯之ftok
- 关于javah编译出错的小问题
- 深入理解windows 消息机制
- 用HTML和JS做简单的注册验证
- java socket通信
- C# TreeView绑定 能展示xml属性
- C语言运算符优先级和口诀
- loadrunner走socket协议写发送数据脚本