【问题标题】:Aligning burst pictures对齐连拍图片
【发布时间】:2018-10-29 11:11:38
【问题描述】:

我一直在使用一些图像处理技术来制作 HDR 图片和类似内容。我发现很难对齐连拍的照片......我尝试了一些简单的运动搜索算法,只是基于比较不同图片之间的小像素样本(如 16x16),这些图片几乎可以工作: - 在第一张图片中选择一个 16x6 块,一个具有高对比度的块,然后对其进行模糊处理,以减少噪点 - 在相邻半径范围内进行比较(也因噪声而模糊)...(通常使用平均平方差) - 选择最相似的。

我尝试了一些方法来改进这一点,例如使用这些搜索算法 (https://en.wikipedia.org/wiki/Block-matching_algorithm) 来加速它。然而,结果并不好,而且当它们好时,它们并不稳健。此外,它们的计算量一直非常高(例如,这排除了在移动设备上的使用)。

我研究了流行的基于研究的算法,例如 https://en.wikipedia.org/wiki/Lucas%E2%80%93Kanade_method,但它似乎不太适合大动作。如果我们看到今天的手机拍摄的连拍图像,其传感器 > 12Mpix,很容易小动作导致 50-100 像素的差异。 Lucas Kanade 方法似乎更适合少量运动...

这有点令人沮丧,因为似乎有数百个应用程序可以执行 HDR,而且它们似乎能够在瞬间轻松可靠地匹配图片......我试图研究 OpenCV,但所有这些offer 好像是上面的 Lucas Kanade 方法。我还看到过像https://github.com/almalence/OpenCamera 这样的项目,它们很容易在纯Java 中做到这一点。虽然代码并不容易(一个类有 5k 行代码)。有没有人指点可靠的资源。

【问题讨论】:

  • 你能显示到目前为止你尝试过的代码吗?现在这个问题太宽泛了
  • 文件太多很难发布...抱歉
  • 顺便说一句,我认为这个问题并不广泛。它是关于图像对齐技术的,我还参考了目前使用的算法。代码不重要,更重要的是算法。

标签: java image image-processing hdr


【解决方案1】:

看看HDR+ paper by google。它使用分层算法进行对齐,速度非常快但不够稳健。之后,它使用一种对对齐失败具有鲁棒性的合并算法。

但将它用于普通 HDR 可能有点棘手,因为它说:

我们捕捉持续曝光的帧,这使得对齐更加稳健。

Here是另一个需要亚像素精确对齐的作品。它使用 HDR+ 论文中介绍的对齐方式的改进版本。

HDR+ code

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多