【问题标题】:Merge 3 bands (r,g,b) images with phase shift to 1 rgb image将具有相移的 3 个波段 (r,g,b) 图像合并为 1 个 rgb 图像
【发布时间】:2015-12-22 21:40:36
【问题描述】:

我有一个定制的相机,其中包含 3 个单独的镜头 + 过滤器排列成三角形,因此在每次拍摄中我都会得到 3 个单波段灰度图像(r、g、b)。我想合并它们以获得 RGB。

问题是,由于 3 个镜头在物理上是分开的,因此它们拍摄的图像没有对齐。结果,当我在软件包 QGIS 中使用命令 qdal_merge 时,结果看起来很奇怪。我可能还需要调整 r,g,b 的权重。我把原始的 r,g,b 图像和我使用 qgis 生成的输出放在这个 dropbox folder 中。

是否有现有的开源工具来进行对齐和合并?如果没有,我该如何使用opencv?

【问题讨论】:

  • 可以发三张灰度图吗?你事先知道相互位移吗?
  • 如果您有关于如何使用 GIS 的问题,您可能会在 gis.stackexchange.com 上获得更好的运气。
  • @Miki 我用原始图像的链接更新了问题。
  • @mkirk 对我来说,这更像是一个图像处理问题,而不是一个 gis 问题。我使用qgis只是因为我的一个朋友熟悉它并建议我使用它。
  • 您可以尝试诸如关键点匹配、光流等或立体相机匹配之类的方法,但由于您的图像是由不同的场景(不同的颜色)制成的,因此许多方法在那里可能不起作用。您可以使用适当的校准模式对整个相机系统进行立体校准吗?

标签: opencv image-processing gis qgis


【解决方案1】:

可以使用简单的像素强度距离度量来组合 R、G、B 图像,例如距离平方和 (SSD)。更好的度量标准是归一化互相关 (NCC)(参见 Wikipedia),它首先将图像矩阵归一化为单位向量,并计算此类单位向量的点积(来自 2 个输入图像)。 NCC 值越高,表示两幅输入图像的相似度越大。 但是,NCC 相似性可能不足以计算两个高分辨率图像的最佳对齐,例如您提供的 TIFF 图像。因此,应该使用如下所述的下采样方法 以较小的尺寸对齐两个输入图像,然后在重新缩放图像时简单地计算偏移量。

所以对于输入图像redgreenblue,有两种方法可以将它们对齐到单个 RGB 图像中:

  1. blue 图像视为参考图像,例如 w.r.t.我们将redgreen 图像对齐。现在考虑redblue 图像。在某个窗口内,使用NCC相似度度量计算redblue图像的最佳对齐偏移量,找到shifted_red图像。对greenblue 图像执行相同的操作。现在组合shifted_redshifted_greenblue 图像以获得最终的RGB 图像。
  2. 对于高分辨率图像,请选择scale_count。递归地,在每一步将图像大小调整一半,计算 red 图像 w.r.t 的偏移量。 blue 图像,重新调整偏移量并应用它。进行这种递归多尺度对齐的好处是减少了计算时间并提高了对齐的准确性(您不知道为解决方案 (1) 搜索对齐偏移的最佳窗口大小,因此这会更好)。重复此方法以计算 greenblue 通道的对齐方式,然后按照 (1) 组合最终结果。

由于这个问题在计算摄影课程的作业中很常见,我不打算分享任何代码。但是,我已经实现了这两种方法并尝试了您提供的图像。我不知道哪个输入图像是红色的,所以我有两个结果(重新缩放以减小文件大小):

如果IMG_0290_1.tif 是红色,IMG_0290_2.tif 是绿色,IMG_0290_3.tif 是蓝色:

RGB result if red:1, green:2, blue:3

如果IMG_0290_3.tif 是红色,IMG_0290_2.tif 是绿色,IMG_0290_1.tif 是蓝色(这对我来说看起来更正确):

RGB result if red:3, green:2, blue:1

【讨论】:

  • 您好,感谢您的详细解答!在我的数据中,3 是红色的,你的结果看起来很棒!我想知道您的代码效率如何,因为我有大约 1000 组 r、g、b 图像。您能否在我拥有的单个数据集上运行您的代码 1000 次并告诉我运行时间?关于实现,我不是在做编码作业,所以如果你能分享代码,那就太好了。否则,您能否告诉我您使用什么语言和库(opencv?我必须从头开始学习)来编写代码?谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-05
  • 1970-01-01
  • 2020-06-10
  • 2019-07-12
  • 1970-01-01
相关资源
最近更新 更多