Preface
准备做宽动态成像的presentation。做些小结。
关于宽动态成像
概念
宽动态成像和背光补偿有些相近。最开始我听Mr. Mi的lecture 以为他说的就是背光补偿。但后面发现这大部分是在做图像处理,硬件部分少有涉及,有些不符合要求。
宽动态范围听这名字就联想到硬件了。路径
没有去找web of science,随便在cnki上搜了下。。。大天朝的学术门户真是稀(惨)稀(不)落(忍)落(睹)。在一些网站上找到了些。主要是两类方法。
- multi-exposure(CCD+DSP)。这类方法使用不同曝光时间进行多次拍摄,然后后期合成处理。
- per-pixel(CMOS+DPS)。这种方法显得高端些,直接控制每个像素的成像状态。
实施
准备做个demo,本来想看看git上有没有现成的,看来传统cv远没有我大DL社区大气啊。只有看看相关paper 了,随便搜了篇
(我真没用web of science,啥,为什么不是国产?理由在前文),07年的,老是老了些,能看见结果就很激动人心。方法
这篇
用的是第一种方式(后处理好做嘛)。如下关键点:- 用Gradient判断曝光程度;
- 用blend function进行融合。
过程就是很暴力的直接裁剪拼接,然后用个平滑函数进行融合。
上图:这两张是在海康的上截的图(烂爪机一个,连个稳定架都没有,还是放弃自拍吧,有得玩就不错了少年)作为输入。
进行区域选择:
平滑处理:
另记
本来应该用HLS空间的,但做了下,发现似乎效果不怎么好(只在产生上图结果的参数下试了下),但从拼接图来看,各通道间存在耦合,所以用的是HSV空间。
融合的时候非明度通道,使用过曝光的图像。当时没注意到,用了欠曝光的,结果发现输出的色彩不对,还以为数据拷贝出了问题。
写程序时遇到计算瓶颈,用了内建函数解决,一直觉得有些奇怪:julia不是以嵌套循环为一特色么?怎么会这样。。。后面做了相应的寻找工作(主题不符,)。
其他
发现了海康的白皮书 (上图截自此处)。看那样子,HIKVISION做了硬件化。顺便看看用的方法:
- 做了个全局的map,这个和一般矫正差不多;
- 引入了局部对比增强的term。 再来看看HIKVISION的硬件之道(可耻的调参党):