【发布时间】:2012-06-14 19:16:17
【问题描述】:
我有两张图像,都是从同一个检测器同时拍摄的。
两个图像都有 11 位 分辨率(是的,这很奇怪,但这里就是这种情况)。两张图片的区别在于,一张放大了1倍,另一张放大了10倍。
如何获取这两个 11 位 图像,并将它们的像素值组合成一个 16 位 图像?基本上,这增加了最终图像的动态范围。
我对图像处理相当陌生。我知道有一个解决方案,因为其他系统在 FPGA 中逐个像素地执行此操作。我只是希望能够在 Matlab 后期处理中而不是在现场进行。我知道在 Matlab 中进行按位运算可能有点困难,但我们确实拥有每个可用工具箱的教育许可证。
如下所述,这看起来非常像 HDR 处理。目标不是艺术,而是数据保存。这最终将被放入 C++ 中并在自主飞行计算机上飞行,并且在运行中运行标准臃肿的 HDR 软件会扼杀我们的时间要求
感谢您的帮助!
作为旁注,我希望能够为任何收益组合做到这一点。即 2x 和 30x、4x 和 8x 等。在我的直觉中,我觉得这是一个看似简单的算法或插值,但我不知道从哪里开始。
收益
由于对收益的含义有些混淆,我将尝试解释一下。我们定制相机上使用的图像传感器 (CMOS) 能够同时输出两个单独的图像,这两个图像都是从相同的曝光中拍摄的。它可以做到这一点,因为传感器在其数据路径上有 2 个不同的电子放大器。
在摄影方面,就像您的数码单反相机能够同时使用 2 个不同的 ISO 值拍照一样。
抱歉给您带来了困扰
【问题讨论】:
-
“组合它们的像素值”到底是什么意思?
-
为什么这不仅仅是将两个图像矩阵相加的情况,还可能与常数相乘?
-
Kol-对不起,如果这是模棱两可的。我想将每个像素表示为该像素的低增益和高增益版本的“组合”。 LG/HG 像素均由 11 位数字表示。对每个像素应用(由相机)不同的增益意味着两个 LG/HG 像素具有另一个没有的信息。我想将两者结合起来以增加我的动态范围。
-
奥利-是这样吗?我真的不知道这背后的理论。我只是不知道这是如何工作的。两个像素的整数范围为 0-2^11。但该数字代表曝光值/像素值的不同比例。所以我不知道简单地添加是否能给我我需要的东西。我想这就是我被挂断的地方。谢谢!
-
Twerdster-非常高效。如果您查看我的问题,我确实接受相关答案。我确实不接受不切实际的想法和讨论。我知道我不会问简单的问题,我只会问我真正无法解决的问题,但这就是为了对吧?我在这个社区很重要,不要让一个单一的统计数据从远方对我产生影响。
标签: c++ image matlab image-processing