Tips for Scanning Photographic Prints with a Flatbed Scanner


A three-colour flatbed scanner is currently (early 2004) the commonest practical device available for making digital copies of analogue 35 mm prints. The smaller cheaper 'paper-port' type scanners which move the paper past the scanning head normally produce too low quality images and dedicated photograph scanners are both more expensive and less versatile at scanning other types of documents than a general purpose flatbed document scanner. Rephotographing a print with a digital camera will soon become another possibility but aligning the components accurately is awkward and as (good) digital camera resolution is currently only about the same as (good) analogue prints, it does not leave any resolution in reserve. Therefore a flatbed scanner is currently the norm for non-professionals.

Here are a few tips for getting a good result that I've got from scanning approx. 350 of my high resolution 'arty' photographs over the past three years.

Scanner Resolution

The scanner I use (Cannon CanoScan N 650 U) has 600 pixels/inch optical resolution which is ample as it gives a 9 megapixel image from a normal 6"x4" print. The resolution is limited by the film grain not the pixellation. Only if you have very sharp images with lots of fine detail on exceptionally very fine grain film then would more scanner resolution be vital. Make sure the scanner can live up to its claimed resolution though, a poorly made scanner might still be able to provide a high resolution in pixels but might distribute them irregularly causing lines across the scan axis (from the scanner head being mechanically moved jerkily), might have faulty scan head elements causing lines parallel to the scan axis or might have noticeable noise in its images.

Some scanners can provide a scan at greater than the optical resolution of the scanner. This is pointless as it is just done by interpolation between scanned pixels, a task which a picture editing program can do easily, and simply wastes time by increasing the file sizes. Set the scan resolution to the optical resolution of the scanner unless that is unnecessarily high (600 pixels/inch was high when I got the scanner but 1200 pixels/inch is now common), in which case you can set it to downsample before saving to save time if you want.

Dust Avoiding

Dust is the biggest inconvenience with scanning. Dust specks that are too small to see on the print show up terribly as white spots on scans as if they were 0.1-0.2 mm across. This is because a dust speck is not flat like the print and reflects light from its sides so appearing on neighbouring pixels not just the one at its own position.

The obvious precautions of cleaning the scanner bed glass, taking care not leave smears, & blowing the dust off the prints gets rid of most of the specks but many will still creep into the scanning process and need to be tediously removed from the scanned image. If the scanner is not hermetically sealed then it might also need dusting inside of the other side of the glass. Dust on that side will be out of focus and therefore show up as pale patches of fuzziness on the scan that will require more work to remove than small sharp dust spots.

Whilst at it, you might as well also clean the computer monitor. Although dust on that will not affect the scan, it is irritating to be try to edit out a mark from a scan only to find that it is just muck on the computer screen!

A catch to watch out for is automatic dust enhancement in the scanner. Of course it is not called 'dust enhancement' but 'sharpening'. I once scanned about 100 photographs before looking at the scans close up on screen and found them terribly dusty. I had rebuilt the computer and forgotten to go through all the scanner software settings. I had left the 'unsharp mask' image sharpening, which was enabled by default, switched on & it had enhanced all the dust spots! After tediously manually editing the dust out some of those I gave up and rescanned the lot. It has almost given me a phobia against the 'unsharp mask' (which I had barely taken notice of before but turns out to be one of the most common automatic image enhancement methods in digital photography)!

Gamma Compensation

This section is a bit technical. If you are not interested in the explanation, just set the 'gamma correction' in the scanner software for a monitor 'gamma' of 2.2 or scanner 'gamma' of 0.45 (which is probably the default value anyway) and skip to the next section.

The need of a gamma setting is mostly a historical accident. The most obvious ways for a brightness to be represented as a number is for the number to be simply proportional to amount of light. Another sensible possibility would be for it to be proportional to the logarithm of the amount of light as that approximates chemical photographic film and human visual perception. Instead the numbers are proportional to the amount of light raised to a power. This originates from the way the brightness of the light emitted from the phosphor in a TV's cathode ray tube varies with its electron accelerating potential difference. That brightness is approximately proportional to the p.d. raised to the power of 2.5, a quantity which was arbitrarily called 'gamma'.

That bit of physics should not concern users as it could have been compensated for in the electronics but it was found that TV viewers preferred the artificially high contrast & glowing colours it gave so it was only compensated to around 2.2 not to 1.0. IBM compatible PCs originally had cheap monitors so they used TV technology with that high gamma (Macintosh PCs & Silicon Graphics workstations had better correction at 1.8 & 1.4 respectively as they were aimed at professional graphics markets). To get correct colours for artwork, this had to be compensated by 'gamma compensation' for a gamma of 2.2, i.e. raising the brightness levels to the power of 1/2.2 = 0.45 before sending them to the monitor. Sensibly this would have been done in the PC video output chips but that would have needed those chips to be told when to display like a TV (for games etc.) and when to display realistically (for art etc.) but neither Microsoft DOS nor early versions of Microsoft Windows bothered with gamma considerations. Therefore it was bodged up by actually having the compensation in the brightness values in the image files, i.e. putting an opposite distortion in the image to cancel the distortion on the monitor. Nowadays it could all be corrected automatically to each monitor, scanner & printer with ICC colour profiles but unfortunately for backwards compatibility a compensation of 2.2 within the image data had become the de facto standard. From there it became the de jure 'sRGB' standard which essentially says "Unless there are ICC profiles to specify better, assume gamma of 2.2 on the output device." (technically it is a power of 2.4 piece-wise curve with a low brightness cut-off but it is virtually identical to a simple gamma 2.2 curve). The digital camera industry adopted JPEG compression as their standard image format with EXIF tagging and sRGB gamma compensation, presumably so that images files would be viewable on default PC setups without alteration. Hence digital photograph printing services output at gamma 2.2 too. Therefore if one wants to show scans to others on the WWW, by e-mail, etc. or to have scans printed out by normal digital photograph printing companies, one is best off with 2.2 gamma compensation even though 1.0 is intrinsically more logical.

To test that, I scanned a test photograph at 6 different gamma compensation values and had them printed by a digital photograph printing company (it was my current favourite, Photobox, but other ones produced the same conclusion) and compared them to the original. The 2.2 one was closest to the original.

0.6 1.0 1.4
Scan with gamma correction=0.6. Scan with gamma correction=1.0. Scan with gamma correction=1.4.
Scan with gamma correction=1.8. Scan with gamma correction=2.2. Scan with gamma correction=2.6.
1.8 2.2 2.6
Scan of original print.jpg

Automatic Calibration

Most scanners probably have some automatic calibration option. It is probably a good idea to use it as at least often as suggested in its instructions, after a long period of disuse & after physically abusing it (e.g. bouncing it home on the back of my pushbike!). The main effect of automatic calibration on my scanner is to compensate for different sensitivities of the scanning sensors. When it is out of calibration, images are defaced by bands of different brightness parallel scan axis.


Scanning itself is fairly trivial. Try to align the print parallel to the sides of the scanning area to save having to rotate the image afterwards. To minimise the motion of the scan head, and hence the time taken to scan, arrange the print with its short edge parallel to the scan axis and place it at the edge of the scanner where the scan head starts moving from. Scan a slightly larger area than the photograph to allow for slight misplacement.

Ensure that the photograph is pressed flat. Some photographs have a strong curve to the paper which may need a weight (e.g. a book) put on top of the scanner lid to squash it fully flat. Edges which bow away from the glass can get a bevelled effect in the scan where they blend towards white from light leaking in the sides so requiring more cropping.

Rotating & Cropping

Open the image file in a raster image or photograph editing program such as Jasc Paint Shop Pro, GNU Gimp, Corel Photopaint, DL&C Picture Window Pro or Adobe Photoshop (I've not found the simple editors which come with scanners, Microsoft Windows or Microsoft Office to be much good), correct the rotation if it slipped on the scanner, and crop off the scanner background. This is easy. Unfortunately the next editing stage is not.

Dust Removing

The most tedious part of scanning with a normal flatbed scanner is getting rid of the white specks from the inevitable dust motes. Good image editing programs have several dust removing tools varying from almost fully automatic to almost fully manual. The automatic ones are much less time consuming than the manual ones but remove fine detail in the images along with the dust. Commonly recommended automatic tools include:

My current preference is the 'Salt & Pepper Filter' is Paint Shop Pro 8. For Photoshop Elements users, I think the nearest equivalent is the (ambiguously named) 'Dust & Scratch Filter', & for GIMP users, it is the (misleadingly named) 'Speckle Filter'. I might be wrong though as I have not tried either of those personally and only based the equivalence on their descriptions in on-line manuals.

I use the settings of: 'Aggressive action' turned on so that it fully removes not just tones down the specks; 'Speck size' of 3 to 5 pixels which is the typical size of my dust specks; and 'Include all lower speck sizes' turned off so that it does not remove the film grain as well. However even that filter does some damage to other areas of the images, for example mistaking specks of light between leaves of distant trees for dust specks. Therefore I only apply it areas of the image that have dust spots. There are several ways of applying a filter to only specific areas of an image and they depend upon the program. In PSP 8 they include:

I normally zoom my images to about equal to the resolution I intend to eventually save them in (as I use a 1024 pixel wide screen for 2048 pixel wide final images I zoom to about double linear size). It is not necessary to zoom to the full resolution of the scan. At full magnification many insignificant speckles would look dauntingly like dust. It is necessary to zoom to the about the final resolution though as otherwise some dust might be missed so the image will look fine for now but not if it is printed out or displayed on a bigger screen in the future.

If your image editing program does not have a suitable filter or does not support layers & you can run Win32 programs then there is free dedicated program which does essentially the same from Polaroid, the Polaroid Dust & Scratch Removal Tool. It allows one to create a 'mask' (which acts like a PSP 'selection') & apply an automatic dusting algorithm similar to a Salt & Pepper Filter. The procedure is: open the image; zoom in; use the 'Mark Dust' tool to select the dust point by clicking on them; use 'Create Mask from Dust Points' to find & show dust points within the marked areas; 'Remove Dust and Scratch Points' to remove the dust; and then save the cleaned image.

Unfortunately some dust specks will be left because they were bigger than could be safely removed by filtering or because the background that needs to be patched in has too distinct edges or patterning. For those one needs to manually draw over the dust (if using layers remember to merge them or at least make the unaltered layer the active one). The Clone Brush Tool is best for that:

My current procedure is therefore: use a Salt & Pepper Filter with a mask layer to delete all dust spots other than the (hopefully few) that are on awkward backgrounds; then use the Clone Brush Tool to remove the remaining ones.

Set the Clone Brush Tool to have a feathered edge (i.e. fades out to transparency rather than an abrupt cut-off) so that the copied bit blends into its surrounds well. Setting it central opacity at about 75% (called 25% transparency in some programs) or less and copying from different areas if multiple strokes are needed to hide the mark will also improve the seamlessness of the patching but, of course, takes more effort.

Dust Avoidance

Although avoiding dust is almost impossible, in some circumstances it can be virtually invisible. As the dust specks appear white, dust will obviously be less visible in light areas. Similarly textures which are randomly speckled like dust will hide it.

Of course, scanning new prints before handing them round your friends or adding them to your collection in a file or album reduces the amount of dust & damage you will have to undo.

The size also matters. If you have a print bigger than a standard 6"x4" one, then scan that larger one instead and reduce the size after scanning. This shrinks the dust spots. In addition, one can use automatic dust removal tools, even simple blurring, first without significant loss of image quality as the scale of the lost detail can be less the the pixel size of the final image. Even scanning a 10"x8" print, which is not even twice as wide as a standard one, applying the Salt & Pepper Filter uniformly across the whole image and then reducing it from 6000 pixels across to 2000 can produce a dustless good resolution image without manual dusting. Of course you might be tempted by the reduced relative grain size on a big print to have more pixels in the final image, in which case you will have even more of an area to dust!

Also think about whether you really need so high an eventual resolution or not. If the picture is primarily for the subject matter (such as holiday snaps of grinning friends & family, a record of how a room looked before redecoration, or something kept for nostalgia) rather than as piece of artwork then the grain-level detail is probably not needed. If that is so then a smaller final number of pixels will be acceptable so you can apply the above size reduction trick as if scanning a big print and end up with a lower resolution print which not only saves dusting but saves storage space.

Sometimes what looks like dust can be a genuine part of the scene. I was once just about to dust some dark specks out of a photograph of a meadow when I zoomed in and saw that they were images of summer insects hovering over the flowers. Falling snow & rain drops illuminated by a flash can also look like dust. Of course, one might feel like edit out the midges as well as the dust if one has been bitten by them on that nice summer's day!

Scratch Removal

Scratches in newly printed photographs & well stored negatives are rare but small curved white lines from fibres that have got into the printing machines & small splodges from emulsion defects are relatively common. They can are normally easy to remove with the Clone Brush Tool and take far less time than removing dust because there not many to do (typically averaging 1 blemish per print compared to 10-100 dust spots!).

Colour Correction

By this I mean colour correction to make the scanned image look like the original photograph not changing the colour from the original (which I feel is a bit like cheating :-) ). I am fussy about colour fidelity but, after making allowance for the inevitable colour mismatch (monitors have lower dynamic range than photographic film and are luminous rather than reflective sources), I have found the colours are usually reasonably similar without needing any tweaking so I normally don't bother with adjustments.

An exception is for sunsets, silhouettes, dark backgrounds etc.. The lower dynamic range of monitors compared to film tends to make the striking deep blacks look an unimpressive blotchy dark grey. To compensate for that I darken them with a 'Curve' set with the full scale black & white points unchanged but with a lower than 1:1 gradient for the darkest 10 % or so. A similar effect could be done a bit simpler but with less control using a gamma adjustment or with a bit more control using histogram adjustment.

For really dedicated people who are concerned about contrast, the limitation of 256 brightness levels per colour channel intrinsic to most computer image formats can be bypassed by using a scanner which allows scan data to recorded at more than 8 bits per channel, typically 16 bits. The resulting data can be imported in some photograph editing programs and one's own mapping between those levels and the restricted monitor dynamic range applied before decimating it down to a normal 8-bit image format. That is far too much hassle for me. If you want to find out more there is an article about 48-bit colour digital image processing on Norman Koren's site.

Of course, check that it is not simply the colour balance on your monitor which is at fault before tweaking the colour in the image files. Professional ways of calibrating a monitor are slow & expensive. A reasonable amateur alternative is to make a test image with varied colours, shades etc., get it printed by a reasonably trusted company (or several companies to cross-check), assume their printer has been calibrated, put the print next to the monitor with the room lighting as normal (but not lit just by the monitor's varying light!) and adjust the monitor settings to get as close as possible to its colours. Remember that a monitor calibrated to match printed material under daytime sunlight will be severely out of calibration under night-time artificial lighting and vice versa because human visual perception automatically adjusts to the different incident light reflecting off the prints whereas very few monitors automatically do so.

Check the Cropping

This is the final chance to check & correct the cropping before reducing the image to its final size. It is easy to have been too meagre with the cropping and have a fine white line (my scanner's background is white, yours might be different) down an edge of the image near a corner which was not noticed because it was abut the distracting window edge in the editing program. If it annoyingly shows up in the future when the image is put on a plain background or is printed, it will give one the dilemma of cropping the compressed image further (and possibly stretching it to match the size of the others) so losing more detail from recompression, rescanning it or remembering to take the edge error into account every time one reuses it subsequently.

The most efficient way I've found of checking for this is to save the image at this stage (without reducing resolution & with low compression) then add a black border (white if your scanner has a dark background) and look at the corners. I have a batch process sets this up for me on many image files at once.


Now, at last, to save the image. Besides the file name (which can be changed later), two things need to decided: the number of pixels in the image and the amount of compression. Both of these degrade the image so they need to be chosen carefully. If file size is of no concern to you then you can save it without decimation & without lossy JPEG compression but such detail is unnecessary given the grain limitations of the film and the huge files will be slower to work with.

I decimate the number of pixels down to 2048 on the widest edge (with the other edge automatic to maintain the aspect ratio). This is fairly arbitrary and might be a bit unnecessarily low but is somewhere near the maximum useful number of pixels from a 6"x4" print. I chose it because my original intention for scanning my photographs was just as PC desktop wallpaper (I originally intended only 20 or so scans not 300!). My best monitor happened to be 1024 pixels across at the time and I arbitrarily doubled it lest I got a bigger or higher resolution monitor in the future. When reducing the number of pixels use a method which interpolates across pixels not one which simply removes lines of pixels.

The amount of JPEG compression is difficult to describe as there is no standardisation of how different amounts of compression are numbered or labelled or even whether big or small numbers correspond to the most compression. In Jasc Paint Shop Pro 8, I use compression level 22 which is similar to level 50 in Corel Photopaint 7. This is was simply from decreasing the compression Photopaint in steps of 10 until it did not damage fine details too much. Maybe I should be compressing a lot less as the compression in my digital camera (an Olympus C50) is approximately equivalent to Paint Shop Pro level 8 at 'High Quality' and only level 2 at 'Super High Quality'!

Renaming & Filing

If you have not yet named the images files intelligibly then name them now. I leave the naming to last so I can see all the final scans from a film at the same time and choose a level of detail in the naming sufficient to distinguish them but not excessive. I would like to include location, subject, date, film number & memorable features in the file name but unfortunately compatibility with the CD file system limits names to 64 characters including the '.jpg' (& that is the 'Joliet' enhancement of the basic ISO CD-ROM spec; the original only allowed pathetic MicrosoftDOS 8+3 character file names!). One could leave the file names as whatever the scanning software or editing program defaulted to & index them elsewhere but it is much more convenient for searching if the file names are meaningful. One can store extra text information in the image file (in either the original IPTC format or digital camera EXIF format) but not all search programs or even graphics programs can read that data so it is best to include the main details in the file name as well.

Then one has too choose how to structure the directories to store the images in (unless one is simply going to plonk them all together in one flat directory). The difficulty is in choosing the hierarchy as there are several obvious primary groupings including the subject matter, style, location, date & (if you have photographs from friends) photographer. The same dilemma of course also applied to filing the prints in the past. I use a slightly inconsistent mixture of filing some by location & some by subject matter depending on which I feel is most significant for each photograph. One can duplicate the same photograph under multiple directories but having multiple copies in a database makes keeping consistency awkward. Better would be have a single copy of each linked from multiple places. This could be done using the hard linking facility of Unix file systems, dedicated iPhoto indexing program of a Macintosh links or some homemade HTML index. Unfortunately there is not a system which is easy to maintain & future-proof yet compatible with current Windows, Linux, Macintosh & CD filing systems so I stick to a plain old directory tree structure.

My Macros/Scripts

Here are the editing scripts I used for batch processing images in Paint Shop Pro. They are written in Paint Shop Pro 8 Python so they are unlikely to work in other editing programs. Apologies if you have one of them. You will have to do it manually, find equivalent scripts elsewhere or write your own. They are released freely under GPL and used at your own risk (though that risk should be minimal if you run them as restricted scripts (which prevents them doing anything outside PSP), backup your images first & check that the results are to your liking before deleting the backups).

Note that the compression level when batch processing with PSP scripts is not set by the script itself but by the preferences in the batch processing dialogue box even though they (in PSP 8.1) appear disenabled unless writing to a new directory so remember to set that (by switching to 'Save as New Type', setting the preferences then setting back to 'Overwrite').

Professional Alternatives

A dedicated negative scanner theoretically can give a higher number of useful pixels in the final print because it is limited only by the grain in the negative film not by both that and the grain in print paper. Also the dynamic range possible from scanning a negative directly is considerably higher than indirectly via a print. However, because the negative is smaller, the optical resolution of the scanner needs to be higher and dust can be even more of a problem.

Expensive specialist scanners can avoid the dust problem by using infra-red light (or some other means) to detect the dust and then automatically interpolate across the specks without disturbing the rest of the image. This is essentially the same as the above dusting process but with the dusting mask layer automatically created from the infra-red colour channel (dust absorbs infra-red very differently to normal photographic paper).

I have tried having scans made by a film processing company at the time they developed the negatives but I was so disgusted with the result that I have not ordered such scans since. The Kodak 'Picture CD' was advertised as "high resolution" but the scans were only 1536x1024 pixels, less than I routinely produce from a flatbed scanner, and the unintelligent complaint line operator did not seem to understand the concept of scanning resolution as distinct from out of focus originals. I later found out the low resolution was a ploy by Kodak to stop their 'Picture CD's competing with their 'Photo CD's which were the same thing but at proper resolution & marketed to professionals at an absurdly high price.


The above article was written mainly in early 2004 based experiences of scanning photographs between 2001 & 2004. Already (it is 2006 as I write this epilogue) technology has moved on.

In particular consumer-grade negative/slide scanners have improved in three significant ways. Firstly, the resolutions have increased to the extent that one can get higher resolution on the resulting scan from such a negative scanner than from film-paper grain limited scanning of prints. Secondly, they often incorporate automatic dust speck removal systems that used to be only available in professional scanners. Thirdly, these scanners are now available at reasonable prices (around £ 120 & falling).

If were starting scanning my collection now (and knew that I was going to be scanning so many photographs - it started as just a few scans for desktop wallpaper!) then I would buy such a scanner both because of the higher dynamic range & slightly higher resolution I could have got would enable reprints as good as the original prints without tweaking but primarily because of the time saved from dust removal. However I have now completed digitising those photographs from my archives I want to preserve and it is not worth me rescanning them.

However, I will keep this webpage in existence because there are still many people who have a flatbed scanner & want to scan some photographs accurately but not scan a batch of hundreds.