Photographing Big documents

For high resolution images of big documents, I [EJW] would love a proper document camera. They start at £15000, if anyone cares to make a donation to this site. Meanwhile, I take multiple pictures of parts of the document, and stitch them together into a single whole with Photoshop CS6. (I hate the idea of rented software and am hanging on grimly to my bought-forever Photoshop.)

The Woburn Sheepshearing image was made like this. That’s a 110 megapixel image, made of ten separate images stitched together. The smaller images were taken with the setup described at Photographing Documents, a tripod hung from the ceiling over the dining table. Using Sofortbild remote control software for the camera (I keep an old laptop with an old version of OS/X just to run Sofortbild, which will not work on current machines) I used the live view feature to see on the laptop what the camera could see, lining up the shot to the right part of the print by hand and eye, before taking the picture proper. The images used a Nikon 50mm lens on a D7000.

Here’s a checklist of actions to make this process simpler. [Note to self: read this checklist again next time you do this!]. This page is copyright Emrys Williams. Please leave a comment below if you’d like to reuse this content.

  • Get the camera as well lined up shooting at right angles to the table as possible. I used a spirit level but there really should be a better way, the spirit level and the tripod head is not really good enough. Lining the camera up well means less fiddling about in photoshop.
  • Get the lighting right. I used two flashes firing at the celing, one each side of the tripod. To check the lighting, I shot pictures of an A3 grey card previously printed on an ink jet printer. I’ve checked before that the grey card is very consistent in colour. After each shot, I viewed it on the laptop and used a digital color meter app on the laptop to check the RGB values in the corners of the image, straight off the screen. I adjusted the relative flash power and the flash positions until the numbers were within one or two values everywhere. I had to turn off the room lights and close the curtains to get consistent results. I used a studio flash with a cable to the camera, and a Nikon SB800 flash in manual remote mode, triggered optically by the studio flash. I made sure the direct light from the flashes couldn’t reach with the front of the camera lens or the print on the table.
  • Shoot manual. Set the aperture to a mid value, where the lens will perform well. I used F/9. Set the ISO to a lowish value, to reduce noise. I used ISO 400, but maybe should have used a lower value and turned the flash up, I had plenty more flash power. I set speed to 1/60, but, of course, the effective speed is determined by the flash duration, much shorter. Don’t forget white balance. Every shot has to use the same parameters independent of what the camera is seeing, so auto white balance isn’t suitable. I used colour-temperature white balance and adjusted the temperature with the grey card shots and the digital color meter app until the RGB numbers on the laptop screen were all equal. I’m not sure that’s right, but it looked OK and at least each shot will be the same. Using “Flash” white balance didn’t work well, I think the flash colour is affected by the reflection from the ceiling.
  • Make sure the tripod is really solid. No wobbles or vibration!
  • Choose an appropriate number of images to stitch together. I started with the camera too far away, too few images. Reviewing the images on the laptop screen at high zoom level, I could see pixellation at around the resolution of the print, so I went much closer.
  • Open all the images in photoshop and start stitching. The built-in stitching in CS6 does not work very well, I did it by hand. Open an image big enough for the stitched result and paste the first small image in. If any part of the picture has nice straight lines, add Photoshop guides to help adjust the small images. I used the rectangular printed image from Woburn Sheepshearing and made sure my final image was rectangular with Photoshop guides.
  • Convert every small image to a Photoshop Smart Object as soon as it is read in. That way, pixel resampling only ever happens once, when the final image is saved, no matter how many adjustments you make to the geometry.
  • Use a free transform to adjust the geometery of the first image if needed to line up with the guides.
  • Paste in the next image. I use sharp-edged images, not blended together, in stitching, to maximise resolution at the expense of some artifacts where the images join. It may help to cut the edges off each image where it overlaps, to avoid using the outside of the images where lens performance is worst. I’d probably do that with a wide angle lens. With the 50mm lens I used, it hardly seemed to matter, and I didn’t do it.
  • Do the biggest possible adjustments for geometry first:
    • Move. just use the move tool to align one point on the images precisely, preferably in a corner of the new image. Adjust transparency of the top image to see the changes.
    • Rotate. Use the free transform tool to rotate the other overlapping corner of the new image, first moving the centre of rotation to the first point you lined up.
    • Scale.
    • Perspective. The free transform perspective tool can both change perspective (grab the corners) and skew (grab the sides).
    • Now, and only now, use Puppet Warp. Change the blend mode of the top image, the one you’re moving, to “Subtract”, with opacity at 100%. When the images are perfectly aligned, they’ll go black. Use the arrow keys to nudge a pixel at a time. In pupper warp, set as many points as you can to hold any edges fixed. I put puppet points all along the Photoshop guides that showed my rectangular border. Then add more puppet points and move them around to make the join as good as you can. You’re looking for perfect black at the edge of the upper image where it overlaps. Further in, it doesn’t matter at all if they misalign. You’re not going for perfect large scale geometry, you’re just trying to get the edges lined up where the images meet. Change the blend mode back to normal when puppet warp is finished.
  • Repeat until all the images are stitched.
  • If colour shading is visible at the joins, add a curve adjustment layer for each small image to adjust. Use cmd-alt-g on the adjustment layer to make it affect only the one layer immediately below. Add a black-to-white gradient layer mask across the adjustment layer so that changes in the curve only affect the edge that’s showing a colour difference. Move the adjustment curve with the arrow buttons until the edge disappears. It’s possible to use fixed colour samplers and read the numbers off the info box until they match, but the Woburn Sheepshearing image is too busy for that, and I just did it by eye. If there is colour imbalance too (for example, if there was a mix of flash and daylight across the picture) you can use the separate RGB curves individually. In difficult cases, multiple different curves can be added to affect a single layer, with different layer mask gradients in different directions.
  • That’s it! Don’t forget to hit save!

I spent about three hours setting up and taking the ten small images to stitch together for Woburn Sheepshearing, and about 6 hours stitching.


Leave a comment for publication