答案1
胡金通常可以很好地拼接图像,自动定位和旋转它们。虽然它主要是摄影工具,但它有一个特定的扫描拼接教程。
我以前用来批量合并文件的脚本:
#!bash
# files=("$@")
files=(scan[123].jpg)
# Create a Hugin project
lens=$(printf ",i%d" ${!files[@]})
pto_gen --projection=0 --fov=10 -o tmp0.pto "${files[@]}"
pto_lensstack --new-lens ${lens#,} -o tmp1.pto tmp0.pto
# Feature detection
cpfind --multirow -o tmp2.pto tmp1.pto
cpclean -o tmp3.pto tmp2.pto
linefind -o tmp4.pto tmp3.pto
# Reposition images to match features
pto_var --opt r,d,e,!r0,!d0,!e0 -o tmp5.pto tmp4.pto
autooptimiser -n -o tmp6.pto tmp5.pto
# Stitch images
pano_modify --projection=0 --fov=AUTO --center --canvas=AUTO --crop=AUTO \
-o tmp7.pto tmp6.pto
hugin_executor -s --prefix="stitched" tmp7.pto
脚本的输出(虽然不是矩形,但可读 - 您可以.pto
在 Hugin GUI 中打开其中一个项目文件来调整并重新渲染它):
答案2
我已经测试过了用户1686使用纯 DOS 回答。
在我的 Windows 10 电脑上运行的经过测试的 DOS 解决方案如下。
::************************************************************
::* MERGES-3-FILES.bat
::************************************************************
SET PATH=C:\Program Files\Hugin\bin;%PATH%
::*-----------------------------------------------------------
::* Create a Hugin project
::*-----------------------------------------------------------
pto_gen.exe --projection=0 --fov=10 -o tmp0.pto Left.jpg Mid.jpg Right.jpg
pto_lensstack.exe --new-lens i0,i1,i2 -o tmp1.pto tmp0.pto
::*-----------------------------------------------------------
::* Feature's detection
::*-----------------------------------------------------------
cpfind.exe --multirow -o tmp2.pto tmp1.pto
cpclean.exe -o tmp3.pto tmp2.pto
linefind.exe -o tmp4.pto tmp3.pto
::*-----------------------------------------------------------
::* Reposition images to match features
::*-----------------------------------------------------------
pto_var.exe --opt r,d,e,!r0,!d0,!e0 -o tmp5.pto tmp4.pto
autooptimiser.exe -n -o tmp6.pto tmp5.pto
::*-----------------------------------------------------------
:: Stitch images
::*-----------------------------------------------------------
pano_modify.exe --projection=0 --fov=AUTO --center --canvas=AUTO --crop=AUTO -o tmp7.pto tmp6.pto
hugin_executor.exe --stitching --prefix="stitched" tmp7.pto
::*-----------------------------------------------------------
:: Delete intermediate files
::*-----------------------------------------------------------
del /Q *.pto