
我確信會有一個簡單的命令可以做到這一點,但我還沒有找到一個。
基本上我想將一張照片縫合在另一張照片下面,沒有重疊。另外,理想情況下,我想要一個命令可以自動執行 200 個頂部圖像的此過程,其中縫合了相同的底部圖像。所有影像具有相同的寬度,因此不需要轉換。
我正在尋找一個類似“stitch -below top.png Bottom.png”的程序,我已經探索了像 Montage 這樣的選項,但似乎無法讓它按要求工作。尋求建議。
答案1
首先您需要打開一個終端和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
將其複製並貼上到 gedit 或文字編輯器中,然後編輯變數以便它們指向正確的資料夾。 (或儲存底部影像。)將其另存為collator.sh
.如果將其保存在主目錄中,則方便後續步驟。
現在打開終端並導航到保存文件的位置。 (如果您將其保存在主目錄中,則您已經在那裡,否則鍵入cd /path/to/your/location
)鍵入chmod +x collator.sh
以授予文件執行權限。
現在我們完成了工作:
輸入./collator.sh
運行腳本;你就完成了。