在一批照片下面拼接一张照片

Use*_*ser 6 photo-management photo

我相信会有一个简单的命令,但是我找不到一个。

基本上我想在另一张照片下面缝合一张照片,没有重叠。同样理想情况下,我想要一个命令,可以自动处理 200 张顶部图像,其中缝合相同的底部图像。所有图像都具有相同的宽度,因此不需要转换。

我正在寻找类似“stitch -below top.png bottom.png”之类的程序,我已经探索了诸如蒙太奇之类的选项,但似乎无法使其按要求工作。寻找建议。

Mar*_*kal 4

首先您需要打开一个终端和sudo apt-get install imagemagick.

现在将所有图像放在同一个文件夹中,以便您可以轻松地从终端访问它们。将顶部图像全部放在自己的文件夹中,并将底部图像保留在其他地方以简化操作。

输入cd DIRNAME,您需要将 DIRNAME 替换为存储图片的文件夹的名称,例如/home/mark/collating我用于此目的的文件夹名称。

现在您的 shell 位于正确的文件夹中并且已安装 imagemagick,我们使用以下命令将图像粘贴在一起:

convert -append image1.jpg image2.jpg output.jpg

这将获取名为 image1 和 image2 的两个图像,并将 image2 粘贴到 image1 的底部,将结果保存为名为 output.jpg 的文件。

要自动执行此操作,您可以使用像这样的脚本。您需要更改变量,以便它们指向正确的位置。

#! /bin/bash

#   Replace the values of these variables with the locations of your tops and the bottom.
# The output directory must already exist!
#   "~/" is a shortcut for your home dir, FYI.

TopsDir="~/collating/tops" #Only the TOP images should be in this folder!
BottomImg="~/collating/bottom.png"
OutputDir="~/collating/complete"

[ -d "$TopsDir" -a -d "$OutputDir" ] && [ -f "$BottomImg" ] || { echo "One of the paths you supplied wasn't valid."; exit 1;}

cd "$TopsDir"

for TopImg in *; do
    convert -append "$TopImg" "$BottomImg" "$OutputDir/$TopImg"
done
Run Code Online (Sandbox Code Playgroud)

将其复制并粘贴到 gedit 或文本编辑器中,然后编辑变量,以便它们指向正确的文件夹。(或归档底部图像。)将其另存为collator.sh. 如果将其保存在主目录中,则方便后续步骤。

现在打开终端并导航到保存文件的位置。(如果您将其保存在您的主目录中,则您已经在那里,否则输入cd /path/to/your/location)输入chmod +x collator.sh以授予文件执行权限。

现在我们完成了工作:
输入./collator.sh运行脚本;你就完成了。