Léo*_* 준영 6 imagemagick image-manipulation images
我想合并两张图片,但我不知道如何通过任何 Linux/Unix 工具在 y 轴上找到剪切位置,但这里的第一个想法是ImageMagick。欢迎任何方法:程序化解决方案或手动协助解决问题的方法。两张图片在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
Run Code Online (Sandbox Code Playgroud)
为了问题的完整性,我在这里包含了一个稍微修改的版本(此版本接受命令行上的图像文件名,而不是硬编码):
#! /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
Run Code Online (Sandbox Code Playgroud)
如果您的图像被调用wIowW.jpg
-orMDp.jpg
正如您的图像的命名一样 - 并且您想要结果,rsp.tif
您可以像这样运行脚本:
./run-scan-pto_var.sh rsp 10 *.jpg
Run Code Online (Sandbox Code Playgroud)
输出始终写入 TIFF 文件。然而,这种格式几乎可以转换为任何其他图像格式。
结果?