Images
如何在兩張圖片中找到y軸聯合相似度?
我想合併兩張圖片,但我不知道如何通過任何 Linux/Unix 工具在 y 軸上找到剪切位置,但這裡ImageMagick作為第一個想法。歡迎任何方法:程序化解決方案或通過手動幫助解決問題的方法。兩張圖片在 y 軸上具有聯合相似性,我想將其最小化然後合併輸出。虛擬碼
- 找到兩張圖片中數據首次相等的 y 軸位置。
- 只要圖片之間不相等,就盡量減少兩張圖片的 y 軸相等。
- 通過適當的位置剪切每張圖片。對於此處的百分比最高,
convert -gravity SouthWest -crop 100x70%x+0+0 infile.jpg outfile.jpg
。對於底部類似,convert -gravity NorthWest -crop 100x70%x+0+0 infile.jpg outfile.jpg
。- 合併兩個圖像的正確部分等(這裡)通過
convert -append A-edit.jpg B-edit.jpg output.png
圖 1 圖像 A,圖 2 圖像 B,圖 3 預期輸出
Hugin 將為您拼接這些圖像。
本教程中有一個腳本可用於拼接掃描的圖像,稱為run-scan-pto_var.sh,它將完全滿足您的需要。
在我的 Debian 系統上,我需要安裝兩個軟體包(當然還有它們的依賴項):
apt-get install hugin hugin-tools
為了問題的完整性,我在這裡包含了一個稍微修改過的版本(這個版本在命令行上接受圖像文件名,而不是硬編碼):
#! /bin/sh # hugin command tools script to stitch scanned images, fov unknown # use of fov >= 10 should be OK, could simply set FOV=10 # Terry Duell 2013, 2014 # usage...run-scan-pto_var.sh outputprefix fov #get the output file prefix Prefix=$1 # get the fov FOV=$2 shift 2 pto_gen --projection=0 --fov=$FOV -o project.pto "$@" pto_lensstack -o project1.pto --new-lens i1 project.pto cpfind -o project1.pto --multirow project1.pto cpclean -o project2.pto project1.pto linefind -o project3.pto project2.pto pto_var -o setoptim.pto --opt r,d,e,!r0,!d0,!e0 project3.pto autooptimiser -n -o autoptim.pto setoptim.pto pano_modify --projection=0 --fov=AUTO --center --canvas=AUTO --crop=AUTO -o autoptim2.pto autoptim.pto pto2mk -o project.mk -p $Prefix autoptim2.pto make -j 2 -f project.mk all # Clean up afterwards rm -f project.pto project1.pto project2.pto project2.pto project.mk rm -f "$Prefix"[0-9][0-9][0-9][0-9].tif rm -f autoptim.pto autoptim2.pto autoptim2.pto_rsp.arg rm -f setoptim.pto
如果您的圖像被呼叫
wIowW.jpg
並且orMDp.jpg
- 正如您的圖像所命名的那樣 - 並且您想要結果,rsp.tif
您可以像這樣執行腳本:./run-scan-pto_var.sh rsp 10 *.jpg
輸出始終寫入 TIFF 文件。但是,這種格式可以輕鬆轉換為幾乎任何其他圖像格式。
結果?