Anyone got some tips for
scanning especially large media in a standard A4 scanner? Not necessarily that hi-quality (IMO, highly finished stuff should always be done digitally), but I want to get decently accurate scans with a minimum of crazy contortions, for my digital archive.
Up to a certain size, you can simply scan one end and then the other, using the overlapping scan area to compensate for the area that is distorted as it trails out of the scanner. Digitally stitching the scans is fairly simple in this (1d series) case.
But for -really- huge media -- 55x40cm or thereabouts -- this gets pretty hairy, and I only have a solid solution if there's a convenient band of empty space I can cut through to break it into smaller pieces.
(when I ask Google, it wants to sell me expensive wide-format scanners. Which is understandable but totally excessive)
I feel like I should be able to use a panorama stitcher like HugIn to auto-stitch scans --
there's even a tutorial for that. But in practice all it does is crash.
EDIT: Solved? The run_scan-pto_var.sh provided in the tutorial was a bit off, but with some edits:
#! /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
#
# Taking filenames of scans from cmdline args added by David Gowers
# prefix option removed since it's only used by pto2mk, which doesn't exist any more.
# usage:
# stitchscans.sh fov filenames-of-scans
#
# eg:
# stitchscans.sh 10 scan-1.jpg scan-2.jpg
#
# As the final step, hugin is invoked. You need to then go to the 'stitcher' tab in hugin and click 'Stitch' to finish the process.
# It will produce a TIFF, with a default filename constructed by concatenating your input filenames -- eg. "scan-1.jpg" "scan-2.jpg" produces "scan-1 scan-2.tiff"
FOV=$1
shift 1
pto_gen --projection=0 --fov=$FOV -o project.pto "$@"
# scan-1.jpg scan-2.jpg
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 loadme.pto autoptim.pto
hugin loadme.pto
You will need 'hugin' and 'perl-panotools-script' packages installed on a Linuxish system. This definitely works for 1d layouts (a line of overlapping scans), should also work for 2d layouts (a grid of overlapping scans) but haven't finished testing yet, so don't know for sure.
EDIT2: seems a bit unreliable. I've tried feeding in a lot of scans, few scans, 1d layouts, 2d layouts.. whether I get a sensible result seems hard to predict.
EDIT3: After more extensive testing, this is my verdict: When it is good, it is very very good. When it is bad, it is terrible.
It's typically good when the number of input images is low (2-3); it will align images correctly and pick a cropping rectangle that is ALMOST right (usually needs a little expansion -- look in the 'stitcher' tab).
When the number of input images is high(>=4), it tends to erroneously detect horizons and this results in a crazy stitching that's altogether useless. (more detailed sketches might contain more features to align and thus suffer less from this problem)
So.. it's a good time saver for those smaller stitchings. Larger ones still seem to need manual stitching.