合并两张图片

在Ubuntu中是否有一种工具可以自动合并具有共同条带的两个图像?我需要扫描一张大图像,它无法一次放入扫描仪。我考虑将其分成两部分进行扫描,并使用Gimp手动编辑结果以进行拼接。但可能有一种自动工具可以更快速且更好地完成相同的任务。

编辑我想我可能没有表达清楚我的观点。我的困难不在于对齐两个图像。我的问题是需要补偿手动将纸张放入扫描仪时引入的旋转或畸变,并且自动工具应该通过分析两个图像中的共同模式来获得更精确的旋转和对齐结果。

4个回答

使用提供的工具ImageMagick

Install via the software center

我们可以通过以下命令轻松地将多个图像合成为一张大图,也就是“拼贴”。
montage -geometry 500 image1 image2 [...] output

请参阅项目页面以查看geometry选项的多个参数。注意:输出参数是非可选的,如果参数列表上只有两个图像,则会在不发出警告的情况下替换image2。在上面的示例中,所有图像将被缩放到宽度为500像素后再进行拼接。根据您的图像大小调整此值。如果需要固定高度,请选择x500。另一个维度将按比例缩放以保持纵横比。
受到this帖子的启发,该帖子提到ImageMagick有一个命令行工具名为convert用于合并图像。要水平连接图像(按字母顺序)
convert +append *.png out.png 

将图像垂直堆叠:
convert -append *.png out.png

这应该在包含png文件的终端中运行,以将它们全部合并。

一个适用于此的图形用户界面是:

文件管理器上下文菜单以合并所选图像。

当涉及到这一点时,一种简单的方法是使用Thunar的自定义操作:

要垂直合并所选图像(按字母顺序,无论其扩展名如何,合并为一个png文件),请添加以下自定义操作:

convert -append %F joined-vertical.png

加入水平方向:
convert +append %F joined-horizontal.png

如果你想以更高级的方式拼接图像,可以搜索全景照片拼接软件,比如hugin 安装 hugin

Install via the software center

或者使用Gimp的Pandora插件。

拼接功能会自动匹配两张图像中相似的部分吗? - Andrea
抱歉,那么这不是我要找的东西。问题的关键是要找到一个能够自动匹配两个图像中相似部分的工具。 - Andrea
1你是最棒的 :) - stupidity
@Andrea:你找到解决问题的办法了吗?Montage不适合你,但可以看看其他命令:http://www.imagemagick.org/script/command-line-tools.php - Ooker
点击此页面了解更多关于-geometer选项的信息:http://www.imagemagick.org/script/command-line-processing.php#geometry - Ooker
@Ooker 是的,看我的回答。 - Andrea
默认情况下,montage 会将图像水平地并排放置。有没有可以实现垂直放置的开关?我尝试了 -flip-flop-transpose,但都没有成功... - landroni
@Andrea - 我做了一个编辑,我认为这正是你所需要的。 - user47206
1@landroni - 我进行了一次编辑,提供了一种垂直连接的方法。 - user47206

你可以轻松地用Gimp实现这个目标。
1)创建一个新文件文件->新建

在“创建新图像”对话框中添加所需的高度和宽度。这将为您提供一个新文件,看起来可能是这样的(取决于您设置的尺寸):

2) 打开你想要合并的两张图片,点击“文件 -> 打开...”
3) 然后在图像上点击复制,“编辑 -> 复制...”

4) 前往您在第一步创建的空文件,并粘贴图像(先复制并粘贴第一张图像,然后再复制并粘贴第二张)编辑 -> 粘贴

5)使用工具箱中的“移动”选项将两个图像定位

当你把粘贴的图片放在你想要的位置时,将其固定在那里。要么将光标移动到画布上直到看到一个小锚点符号,要么点击工具栏上的“图层”,然后选择“锚定”。

6) 使用两个合并的图片来缩放新文件 图像 -> 缩放图像...


这就是我想要做的事情。不过,也许一个自动工具可以更快、更好地完成同样的任务。我的观点是,自动工具应该比我手动对齐得更好。 - Andrea
我不清楚是否有任何针对这样简单的事情的程序。但是,我相信你不可能那么懒...这不会花费你超过5分钟的时间 :) - dlin
关键不是懒惰。将大张纸放入扫描仪会产生两个稍微旋转的图像,我需要进行补偿。手动完成这个过程以使结果无缝并不容易。 - Andrea

我最终选择了Hugin。它需要一些手动干预,但是产生了非常好的结果。 这里有一个教程,解释了如何使用Hugin,以便它不会尝试扭曲您的平面图像(该工具诞生于从单张图片制作全景图像,因此通常会补偿透视效果)。

为什么你不接受这个? - Ooker

我用一个叫做fotoxx的程序成功地将jpg图片拼接成全景图。它在工具栏的"合并"选项下有一个专门用于此目的的工具。

啊哈。现在我该如何安装和使用那个程序呢?有没有什么步骤? - Braiam