我有两张照片,都是同时从同一台探测器上拍摄的。
这两幅图像都具有11位分辨率(是的,很奇怪,但这里就是这样)。这两幅图像的不同之处在于,一幅图像被1的倍数放大,另一幅被10的倍数放大。
如何将这两幅11位图像组合成像素值,得到一幅16位图像?基本上,这增加了最终图像的动态范围。
我对图像处理相当陌生。我知道这是有解决方案的,因为其他系统都是在FPGA中逐像素运行的。我只是希望能在Matlab的后置处理中完成这个任务,而不是现场直播。我知道在Matlab中进行按位操作可能有些困难,但是我们确实有一个教育许可证,每个工具箱都有。
正如下面提到的,这看起来很像HDR处理。目标不是艺术,而是数据保存。这最终将被放入C++中,并在自主飞行的计算机上飞行,运行标准的膨胀的HDR软件就会扼杀我们的计时要求。
谢谢你的帮助!
顺便提一句,我希望能在任何收益组合中做到这一点。2倍和30倍,4倍和8倍等。在我的直觉中,我觉得这是一个看似简单的算法或插值,但我只是不知道从哪里开始。
增益
由于对收益的含义有些混淆,我试着解释一下。在我们的自定义相机上使用的图像传感器(CMOS)具有同时输出两个不同的图像的能力,这两个图像都是从相同的曝光中获取的。它可以做到这一点,因为传感器有2不同的电放大器沿其数据路径。
在摄影方面,就像你的单反可以同时使用2不同的ISO值拍照一样。
抱歉给你添乱了
发布于 2012-06-12 01:46:07
你提出的问题被称为“高动态范围成像”和“声调映射”。我建议你从维基百科的文章开始,然后钻研其中引用的书目。
你没有提供关于你的图像的足够的细节来给出一个更具体的答案。你提到的“收益”是什么?你是提高了传感器的增益(达到什么ISO-等效数字?),还是使用了更长的曝光时间?11位像素值是线性的还是已经压缩的?
发布于 2012-06-12 02:04:41
将11位范围提升到16位范围乘以(2^16-1)/(2^11-1)。
(__假设您想要线性缩放.(这在扩展时是合理的)。
如果增益是离散的(适用于11位范围),则有两个11位图像,它们的值可能饱和。
如果增益在连续(模拟)或浮点范围内应用,那么您的值可以超出原始的11位。此外,如果增益被应用在连续(模拟)或浮点范围内,那么这些值可能首先被缩放到另一个范围,例如0,1。如果将值缩放到另一个范围,则必须将新范围的最大值除以(2^11-1)。
无论哪种方式(无论增益是否在11位范围内),由于增益和加法,结果的值可能比原来的范围大。在这种情况下,您需要决定如何扩展它们:
编辑:
由于您不想添加图像,而是使用它们中的不同细节,所以本文可能会帮助您:
闪光灯和无闪存图像对的数字摄影
https://stackoverflow.com/questions/10987641
复制相似问题