最近,3D影片盛行,3D电视技术也层出不穷,3D技术在带给大家非凡的视觉冲击同时,也在告诉大家这背后隐藏了太多的商机。

目前的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像来自于网络

有了上面的理解,我们明白,我们需要2张2D的有视差的图像,才能转换为1张3D图像,但是,我们如何将1张原始图像直接转换为3D图像呢?
一个基本思想,我们通过原始图像,获取图像的深度,视差等3D信息,来构建3D效果图。
这个思想的实现,是个关键问题,经过本人研究,这里,介绍一个思路:
假设有原始图像A,我们要得到的红蓝3D图像为S,算法过程如下:
1,滤波算法
使用一定的滤波算法去除A中的噪声,比如:高斯滤波算法,均值滤波算法,中值滤波算法等等。
2,锐化算法
使用一定的锐化算法恢复并增强A中的细节,比如:Sobel,Laplace,Robert等等。
3,添加深度信息
经过1-2之后,我们得到图像B,这个图像与A已经有了一定的差异,但是,我们如果将B和A作为两张有视差的原始图像来得到S,那么效果并不好,我们还要添加一定的深度信息,构成图像C,这个深度信息获取的算法,可以参考论文(Rapid 2D to 3D Conversion),这样我们就可以得到图像C了。

4,按照前文所述红蓝3D原理,将图像A,C转为S,S就是一副3D图像了。

这里附上我自己的效果图:

最后,分享一个专业的图像处理网站(微像素),里面有很多源代码下载:
http://www.zealpixel.com/portal.php

基于单幅图像的2D转3D算法研究相关推荐

  1. 基于单幅图像的2D转3D算法研究(转)

    原文地址:https://blog.csdn.net/trent1985/article/details/14449567 最近,3D影片盛行,3D电视技术也层出不穷,3D技术在带给大家非凡的视觉冲击 ...

  2. 基于单幅图像的快速去雾算法实现

    清华大学,刘倩,基于单幅图像的快速去雾算法(知网上可以找到2013年的文章). 此方法过程: matlab实现的算法: I=imread('tiananmen.jpg') figure imshow( ...

  3. Deep Manta:单目图像下2d到3d由粗到精的多任务网络车辆分析

    原文首发于微信公众号「3D视觉工坊」--Deep Manta:单目图像下2d到3d由粗到精的多任务网络车辆分析 外文原文:Deep manta: A coarse-to-fine many-task ...

  4. 【论文阅读】基于单幅图像的快速去雾

    基于单幅图像的快速去雾 刘倩, 陈茂银, 周东华 第25届中国控制与决策会议论文集. 2013. 本文提出了一种基于均值滤波的去雾算法,算是后续多种基于均值滤波去雾算法的鼻祖.虽然本文于2013提出, ...

  5. 《基于压缩传感的匹配追踪重建算法研究》读书笔记

    基于压缩传感的匹配追踪重建算法研究 1.压缩感知与传统数据获取和处理过程比较: 压缩感知理论表明,在对信号获取的同时,就对数据进行适当的压缩. 传统的数据获取和处理过程主要包括:采样.压缩.传输.解压 ...

  6. 空间中的语义直线检测_基于语义分割的车道线检测算法研究

    龙源期刊网 http://www.qikan.com.cn 基于语义分割的车道线检测算法研究 作者:张道芳 张儒良 来源:<科技创新与应用> 2019 年第 06 期 摘 ; 要:随着半自 ...

  7. 如何用matlab求出覆冰图像像素点,输电线路覆冰图像的Canny算子改进算法研究

    输电线路覆冰图像的Canny算子改进算法研究 摘 要: 每到冬季 关键词: 形态学滤波; Canny算子; 边缘检测; 覆冰检测; 微分算子 中图分类号:TM755 文献标志码:A文章编号:1006- ...

  8. 文献阅读笔记:基于深度学习的桥梁裂缝检测算法研究

    论文 | 基于深度学习的桥梁裂缝检测算法研究 作者 | 李良福.马卫飞.李 丽.陆 铖 期刊 | 自动化学报 时间 | 2019年9月 论文目的: 传统的图像处理算法不能很好地对桥梁裂缝进行检测 , ...

  9. 二维海浪波数谱的matlab,基于波数谱的风涌分离算法研究

    哈尔滨工程大学 硕士 2018 基于波数谱的风涌分离算法研究 Research on Wind Sea and Swell Separation Algorithm Based on Wave Num ...

最新文章

  1. properties文件不能输入中文
  2. 光纤连接器百科小知识
  3. [css] 怎样去除图片自带的边距?
  4. o_rdonly_O_RDWR, O_CREAT等open函数标志位在哪里定义? | 学步园
  5. Ubuntu 安装 Android-Studio
  6. OpenMV(五)--STM32实现人脸识别
  7. java怎么设计一个系统吗_谁能帮我设计一个Java的文件管理系统谢谢各位
  8. D3D12渲染技术概述
  9. 学习python应用,初识python怎样的感受?
  10. 【Day5.7】美食街实在吃不下去,回暹罗商圈再晚餐
  11. 震惊!世界海底光缆分布图!
  12. 我的世界服务器告示牌不显示,我的世界告示牌没有字_我的世界告示牌不显示字怎么用_攻略...
  13. Python数据可视化第 7 讲:matplotlib绘制直方图函数hist
  14. noip模拟赛 终末
  15. JAVA的学习心路历程之JDK基础入门(上)
  16. 涂鸦标准模组MCU SDK开发流程
  17. 相机内参 k_4K相机与智能手机中的4K视频相比如何
  18. 计算两坐标点球面距离、两向量夹角及多边形面积
  19. 企业上云模式正发生转变,混合云或成产业新风口|中机智库干货
  20. Qt按ESC关闭模态对话框不触发closeEvent()问题解析(转)

热门文章

  1. C语言读取txt文件
  2. python爬虫学习(2) —— 爬一下ZOL壁纸
  3. win2008r2用户账户控制什么意思_养老保险统筹账户是什么意思?有什么用?
  4. Linux——网络桥接
  5. 保存照片和视频到相册显示
  6. 导数的四则运算法则_胡昉祖《导数的概念》和《定积分》
  7. VSCode 前端插件推荐
  8. 英属泽西发行“金猪送福”邮票 草原剪纸花开海外
  9. “互联网+”环境下高职毕业生求职风险应对策略
  10. 信用卡账单采集解析系统设计