【问题标题】:How to combine partially overlapping images into one image如何将部分重叠的图像组合成一张图像
【发布时间】:2015-01-14 05:13:32
【问题描述】:

上下文(可以跳过)

所以也许我问错了我的问题。所以让我首先解释我的问题来自哪里。也许这个描述也可以帮助尝试做同样事情的用户找到这个问答。

我的手机上有一个 Whatsapp 线程,我想将其保存为一张大图。在我的笔记本电脑上,我会使用 FastStone Capture 来捕捉滚动屏幕截图,但在我的手机上,这有点困难。所以到目前为止我所做的是:

  • 我将我的 whatsapp 背景更改为某种统一的颜色
  • 使用内置 Android 功能在横向模式下制作了许多屏幕截图,每次滚动一点并制作屏幕截图,确保有一些重叠
  • 将这些转移到我的笔记本电脑上
  • 在 cygwin 上使用 ImageMagick 去除标题栏和文本输入栏(包括靠近这些栏的小渐变效果):

    mogrify -crop 1920x717\!-0+208 +repage Screenshot_*

  • 对第一张和最后一张图片稍作修改以保留顶部和底部:

    mogrify -crop 1920x925\!-0-0 +repage ScreenshotFirst_*

    mogrify -crop 1920x872\!-0+208 +repage ScreenshotLast_*

现在我的问题是这些图像的重叠不是恒定的。

问题

当第一张图片的底部与第二张图片的底部完全相同时,如何使用 ImageMagick 合并两张图片?

如何组合

AAAAAAAAAA
BBBBBBBBBB
CCCCCCCCCC

CCCCCCCCCC
DDDDDDDDDD
EEEEEEEEEE
FFFFFFFFFF

进入

AAAAAAAAAA
BBBBBBBBBB
CCCCCCCCCC
DDDDDDDDDD
EEEEEEEEEE
FFFFFFFFFF

?

除了上面的 ASCII-art 之外,这里还有一个真实的例子。考虑这 3 个屏幕截图:

现在我希望能够使用(首选命令行)开源工具将这些组合成一个图像。如您所见,图像之间的重叠量各不相同。结果应如下所示:

(失败)想法的解决方案

我花了一整天的时间搜索,完全相信这应该已经成为可能,我只是忽略了命令。我还没有找到它。 ImageMagick 文档和示例非常棒,论坛非常完整和有用,Fred's Scripts 是了解如何使用 ImageMagic 的好地方,但没有关于这个(或类似)问题的信息。

我为此尝试过“滥用”hudin,但没有让它发挥作用(也没有在http://ubuntuforums.org/showthread.php?t=1856395&highlight=imagemagick%20panorama 的帮助下)

欢迎任何关于如何做到这一点的方法。

【问题讨论】:

  • 尝试发布一些这样的图像,如果它仍然相关,我会尝试。
  • 嗨@MarkSetchell,感谢您的回复。这个问题不再那么紧迫了:-),但我仍然对如何使用命令行工具来做到这一点感兴趣。我在问题中添加了一些指向示例图像的链接。我对你的看法很感兴趣。干杯。
  • 实际上我不久前回答了一个非常相似的问题,我相信你可以适应......甚至可能投票给:-) stackoverflow.com/questions/16219402/…
  • 感谢@MarkSetchell,答案确实至少是相关的,特别是因为它是一个 bash 解决方案。有关如何使用转换工具的示例在其他情况下可能很有用。我将不得不找一些时间来玩它,但现在感谢您指出它。

标签: image imagemagick screenshot image-manipulation


【解决方案1】:

从屏幕截图中删除统一的彩色背景似乎是个好主意:

mogrify -transparent '#e8ecf3' +repage Screenshot*

这样做之后,由于渐变效果(尺寸基于我的 Galaxy S4 屏幕尺寸和当前安装的 whatsapp 尺寸),我似乎需要从顶部再剥离一点:

mogrify -crop 1920x925\!-0-0 +repage ScreenshotFirst_*
mogrify -crop 1920x858\!-0+222 +repage ScreenshotLast_*
mogrify -crop 1920x703\!-0+222 +repage Screenshot_*

现在这些图像应该可以由此处讨论的脚本处理:http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=22526

从我知道有重叠(带有详细输出)的两个图像开始,例如:

./overlap.v4.sh -v Screenshot_2013-09-22-10-55-36.png Screenshot_2013-09-22-10-55-55.png

这在运行 3 小时后仍未完成(在第 15 个比较点工作)。对于 > 40 个屏幕截图,这不是很好。我将通过专门尝试匹配图像的顶部和底部部分来尝试修改脚本来进一步探索这条路径。我会发回我的结果。

与此同时,仍然欢迎所有想法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 2011-05-21
    • 2014-12-15
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多