matlab光场成像,光场相机重聚焦原理③——Matlab光场工具包使用重聚焦及多视角效...
光场相机重聚焦原理③——Matlab光场工具包使用重聚焦及多视角效
光场相机重聚焦原理③——Matlab光场工具包使用、重聚焦及多视角效果展示
目录
1.从相机里导出白图像(White Images):
2.处理白图像:
3.利用白图像对光场文件进行解码得到rawImage:
4.对rawImage进行去马赛克操作(demosaic):
5.对去马赛克后的图像进行色彩校正(color correction):
这一小节说一下Matlab光场工具包的使用,展示重聚焦和多视角的效果。
从Lytro illum中导出的raw数据为.lfp格式的光场图像文件(约52M大小),该文件包含以下几部分:光场图像数据rawdata;metadata;相机序列号 serials;光场图像大小imgSize;拜尔格式 ‘grgb’。为了从.lfp文件中提取出光场图像rawdata,需要用到Matlab光场工具包,该工具包由D. G. Dansereau等人开发,目前有toolbox0.3,toolbox0.4两个版本,toolbox0.4的下载地址为:
https://images1.tqwba.com/20200610/j2u1pjrjisi
这个网址还有配套的示例图片(sample 压缩包,另行下载就可以了),工具包的使用教程在工具包解压出来的文件夹里面(.pdf文件)。接下来就是对光场文件进行解码得到光场图像,并对光场图像进行去马赛克,色彩校正等操作得到RGB的彩色光场图像。
关于工具包的详细设置和使用方法,强烈建议参考这篇文章
https://www.vincentqin.tech/posts/LightField-Toolbox/,
作者写的很详细,我就不赘述了,当时刚开始使用工具包的时候向该文作者请教了很多东西,在此表示感谢~
从.lfp格式的光场文件中解析出RawImg到最终得到RGB图像有以下几个步骤,刚开始请仔细阅读工具包里的PDF文件:
1.从相机里导出白图像(White Images):
根据matlab工具包解释,白图像是用光场相机在不同的曝光条件下拍摄白色平面得到的图像,这些图像主要有两个作用,一是可以用来校正由镜头阴影造成的图像四角偏暗现象;二是帮助定位微透镜中心的坐标。Lytro illum相机内置了34幅白图像,可以通过相机“导出配对数据”导出到本地。白图像是Raw图,可以通过PhotoShop打开,下面是我用PhotoShop CS5打开后的图像。
2.处理白图像:
通过对每一幅白图像进行处理,分别得到每一幅白图像对应的微透镜网格模型(lenslet grid model),如下图所示,并建立一个WhiteImagesdatabase映射表。
3.利用白图像对光场文件进行解码得到rawImage:
输入.lfp文件,工具包读取WhiteImagesDataBase映射表,工具包选取最合适的白图像和微透镜网格模型进行光场文件的解码,得到拜尔格式的光场图像(图像尺寸为7728*5368),如下图左所示,光场工具包中获取光场Raw图是一个中间过程,在LFLytroDecodeImage()函数里面的这条语句LensletImage = LFP.RawImg,保存LensletImage就是了。放大后可以看到每一个微透镜图像,如下图右所示。
4.对rawImage进行去马赛克操作(demosaic):
Lytro Illum中拜尔格式分布为‘gbgr’,根据此格式对解码出的光场图像进行去马赛克操作,得到RGB彩色图像。
5.对去马赛克后的图像进行色彩校正(color correction):
对上一步得到的图像进行色彩校正,得到色彩校正后的图像。
好了,现在已经从Lytro Illum光场相机的.lfp文件得到我们想要的RGB光场图像(图像大小是7728*5368)了。
得到RGB光场图像后就可以做重聚焦了,我用的是空域重聚焦方法就是shift-sum,先对子孔径图像按照重聚焦公式进行平移然后相加求平均,我设置的alpha值为0.2F-2F,中间的步长可以自己设置从而得到不同数量的重聚焦图片。我生成了256张重聚焦图片,用其中的50张做成了gif动图,如下图,展示一下重聚焦的效果。
子孔径图像是由物体发出的不同方向的光线成像得到的,在视角上会有差别,Lytro Illum一共有15*15=225个不同视角下的图像,做成gif动图展示一下效果:
通过5D光场数据矩阵得到多视角图像的代码如下,路径啥的自己设置:
光场相机也是可以算深度图的,而且方法还不止一种,简单提一下,以后或许还会继续研究:
1.利用双目视觉的方法,根据不同视角下的子孔径图像匹配得出深度图。
2.利用聚焦法,根据不同深度下每一个像素点处的梯度或者纹理的不同,算出最清晰的那张图片对应的alpha值就可以得到深度图。
学习Lytro Illum光场相机基本流程就是这样了,当然难免有很多理解不到位和错误的地方,诸位大侠如有发现,请多多指正!谢谢~~~
matlab光场成像,光场相机重聚焦原理③——Matlab光场工具包使用重聚焦及多视角效...相关推荐
- 光场相机重聚焦原理③——Matlab光场工具包使用、重聚焦及多视角效果展示
目录 1.从相机里导出白图像(White Images): 2.处理白图像: 3.利用白图像对光场文件进行解码得到rawImage: 4.对rawImage进行去马赛克操作(demosaic): 5. ...
- 光场相机重聚焦原理之——光场的参数化表征
转自https://www.cnblogs.com/riddick/p/6725273.html 博主最近在搞光场相机方面的研究啦,好了废话不多说,开始! 1. 一些前言废话 首先,来一下光场的基本 ...
- matlab两个多项式相除,C++和MATLAB混合编程求解多项式系数(矩阵相除)
摘要:MATLAB对于矩阵处理是非常高效的,而C++对于矩阵操作是非常麻烦的,因而可以采用C++与MATLAB混合编程求解矩阵问题. 主要思路就是,在MATLAB中编写函数脚本并使用C++编译为dll ...
- matlab imadjust函数,imadjust从用法到原理—Matlab灰度变换函数之一
imadjust函数是MATLAB的一个工具箱函数,一般的语法调用格式为: f1=imadjust(f,[low_in high_in],[low_out high_out],gamma) (注: ...
- 光场相机重聚焦原理介绍及代码解析
光场相机重聚焦原理介绍及代码解析 光场相机重聚焦–焦点堆栈深度估计法 全部代码下载地址: https://download.csdn.net/download/weixin_38285131/1044 ...
- 光场相机重聚焦原理②——Lytro Illum记录光场
目录 1.光场相机内部如何记录光线的方向? 2.Lytro illum中光场如何参数化表示? 3.Lytro illum如何实现重聚焦? 上一节中大概讲述了光场相机和光场的参数化表示,这一节就说一下光 ...
- 光场相机重聚焦原理①——光场的参数化表征
1. 一些前言废话 首先,来一下光场的基本概念,来自百度百科.光场(light field):就是指光在每一个方向通过每一个点的光量.从概念里,你至少可以得到两点信息:1.光场包含光的方向:2.光场 ...
- 光场相机重聚焦--焦点堆栈深度估计法
光场相机重聚焦原理介绍及代码解析 光场相机重聚焦–焦点堆栈深度估计法 全部代码下载地址: https://download.csdn.net/download/weixin_38285131/1044 ...
- 光场相机重聚焦之二——Lytro Illum记录光场
转自https://www.cnblogs.com/riddick/p/6731130.html 上一节中大概讲述了光场相机和光场的参数化表示,这一节就说一下光场相机内部是如何记录光场以及实现重聚焦的 ...
最新文章
- pythonista3使用教程-Pythonista中文文档:使用Pythonista
- visual c++ 部分窗口样式设置
- 腾讯TEG校招群聊天记录曝光,速来围观!
- 做下一个互联网时代的“水电公司”——融云的通信云视野与蓝图
- 图书资源下载网站推荐
- 《漫步华尔街》书中的精髓:在美国市场中,怎样用“随机漫步”的投资方法让自己的投资收益稳步增长
- qt 使用msvc 打断点无反应解决办法
- 轻量级工具emoji-java处理emoji表情字符
- android 上传nexus_上传 Android aar 到 nexus 上
- 《程序员修炼之道:从小工到专家》The Pragmatic Programmer: From Journeymen to Master
- codeforces1395D 贪心
- LED显示屏和液晶显示屏有什么区别?
- pytorch动态网络以及权重共享
- 为什么cfg文件打开是乱码
- 【模拟】变态杀人狂(约瑟夫问题)
- 你要明白的SQL优化
- 育碧Web实习笔试题分享
- 4个免费数据恢复软件:免费恢复您的数据
- 老牌CRM厂商,轻松玩转SaaS!
- Bluetooth 蓝牙介绍(一) :基础知识