如何将部分重叠的图像组合成一个图像

时间:2013-09-25 21:15:10

标签: image imagemagick screenshot image-manipulation

上下文(可以跳过)

所以也许我正在为我的问题提出错误的问题。那么让我先解释一下我的问题来自哪里。也许这个描述也可以帮助尝试做同样事情的用户找到这个Q& A。

我的手机上有一个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的帮助)

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

1 个答案:

答案 0 :(得分:0)

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

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个截图这不是很好。我将通过专门尝试匹配图像的顶部和底部部分来尝试修改脚本,从而进一步探索此路径。我会回复我的结果。

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