I'm mixing analog with digital photography — I tend to take better photos when I can't look at a small digital screen, unconsciously forcing me to take the picture before I shoot instead of checking afterwards if it succeeded. I also like the grain film gives me. However, most shots aren't worth spending much time in the darkroom, and scanning them is a lot faster. I'm wondering how best to convert the film to digital.

Scanning at lower than maximum (non-interpolated) resolution of my image scanner tends to exaggerate the contrast of the grain and screw up the mid-tones because of that.1 On the other hand, the resulting size of the scans are major overkill in most cases (I don't print them at A0 size), so I want to downscale the pictures. However, the grain confuses most methods and results in loss of detail and/or loss of the characteristic grain. For example, bicubic sharper tends to result in a "bigger" grain than the original. Now, the best compromise I've found so far is simply using bilinear interpolation, but I doubt that this is the best method to preserve both overall details and the look of the grain.

In short: when processing the scanned negative, how do I "best" preserve both image quality and the characteristic look of the grain?

As Stan Rogers pointed out below, there's a difference between truly scanning the grain of the film, and scanning the "grainy" character of film at lower resolutions. This question is about the latter; Stan Rogers explains how to do the first.

I'm looking for alternatives to the standard Photoshop options to try out, and reasons for each. Is the fact that every film has a different grain characteristic a problem? Are customized advanced noise reduction methods perhaps an option?

1. I'm using a Minolta DiMAGE Scan Elite 5400, using the software provided by Minolta.

As requested, here is a scanned picture with different resize methods. Just scanned this, scanning a B&W negative to get better tonality range. I turned off grain dissolver, automatic dust and scratch removal, etc, for obvious reasons. On the right the pictures are upscaled again with Nearest Neighbor. I set the 8 bit scan to 16 bits before downscaling, assuming it reduces risks of banding if I choose to mess with curves, channel mixers, etc. No other modifications (usually I first retouch dust & scratches, and in the end channel mix the picture to B&W, then switch to 8 bits again).

The Different Scaling Methods

  • \$\begingroup\$ If you don't mind me asking, what are you shooting? (I mean what sort of film stock.) There's a major difference between what you'd do to handle dye clouds and what may (and may not) be possible with precipitated silver. \$\endgroup\$
    – user2719
    Commented Mar 14, 2011 at 14:26
  • \$\begingroup\$ Mostly HP5, pushed to 1600 ISO and developed in HC 110. It's probably heresy to abuse the film like that, but I like the results. Also, I have absolutely no idea what "dye clouds" and "precipitated silver" means (and google isn't helping much). \$\endgroup\$
    – Job
    Commented Mar 14, 2011 at 15:51
  • \$\begingroup\$ "Dye clouds" are what you get with colour and chromogenic B&W film. Because they are translucent, they are scalable. Precipitated silver is what you get with traditional black and white film. See my answer for additional info. \$\endgroup\$
    – user2719
    Commented Mar 14, 2011 at 16:12
  • 2
    \$\begingroup\$ A relevant article from The Online Photographer: theonlinephotographer.typepad.com/the_online_photographer/2011/… \$\endgroup\$
    – mattdm
    Commented Mar 14, 2011 at 17:34
  • 2
    \$\begingroup\$ Could you post some 100% and scaled down examples of the photos you are scanning? A small area of the 100% scan, and a similar area from the downscaled image, along with your description of what you perceive as having been lost during scaling, would greatly help potential answerers offer some advice. Just a note on what I do know...film grain is extremely small, even the large grains, and downscaling is going to compress that detail into less space...loss is rather inevitable. \$\endgroup\$
    – jrista
    Commented Mar 14, 2011 at 19:26

3 Answers 3


Since you are scanning traditional black and white film and want to preserve the grain, you need to scan at the highest native resolution your scanner allows. The problem is going to be preserving the grain -- your scan (assuming it is sharp) will consist almost entirely of either black or white pixels. Shadows and lower midtones will probably survive downscaling fairly well, but upper mids and highlights won't -- those areas are going to consist of individual or small groups of black pixels with relatively small white spaces in between. A single pixel doesn't scale well, and a black-white-black-white alternation scaled to 50% is going to result in two grey pixels (with the discernible grain gone) or, if you boost the contrast to try to "recover" the grain, two black or two white pixels, depending on where the grey falls in the overall tonal scale.

You may find that creating a smooth greyscale image, scaling, then synthesizing the grain later is the only way you're going to be able to arrive at a reasonable file size. If you don't mind a larger file (and have a place to store large files) then you may be able to print the large files at a reasonable size.

Since you are printing a "true" balck and white picture (as opposed to a smooth greyscale), you can pretty much forget about the usual pixels per inch guidelines for printing. The normal rules of thumb assume that the printer needs a certain minimum quantity of dots per picture pixel to reproduce the tones accurately. You're not too tremendously worried about tonal range at every printed pixel -- each of them will be either black, white, or some transitional grey where the scan is getting the edge of a silver grain on the negative. One or two greys (or "light blacks" in printer ink-speak) ought to cover it.

That still assumes a relatively large print -- 8x10 or larger. If you go too small, you're probably going to have to sacrifice the real grain, create a greyscale image from the scan (requires some blurring), then use one of the grain-simulating halftone plugins in your favorite image editor to simulate the grain. (At small sizes, it's going to look like at least an extra stop of push if you want to see grain -- printer dithering can only get you so far.)

Added: Given the example you posted, there's something just plain annoyingly geometric about the grain effect from the methods that left a significant grain pattern (next neighbor and bicubic sharper; bilinear is somewhat less grainy, but it still looks too regular). Playing around a bit, I noticed that if you take one of the smoother methods (bicubic smoother in particular), then add about 20% random noise to an overlay layer set to 50% opacity, you can generate some organic-looking grain patterns in the overall image. It's worth a shot.

  • 1
    \$\begingroup\$ Thanks for the advice, however, I'm sad to say it's based on assumptions that aren't true: even at the highest resolutions, the image won't consist of purely black or white pixels, but will be a grainy greyscale image (or even "colour" - sometimes you catch more tonality scanning BW negatives in colour). I have never heard of a scanner that actually does this - I think the scan DPI would need to be in the tens of thousands at least, which would require a ridiculously big sensor, precision motor and a built-in microscope. Probably not a sensible way to make a scanner. \$\endgroup\$
    – Job
    Commented Mar 14, 2011 at 17:28
  • 3
    \$\begingroup\$ Well, my experience is with a Heidelberg drum scanner, for what that's worth... If you can't scan tightly enough to get the grain, then you won't be able to keep the grain, no matter what resolution you scan at. Greyscaling and resynthesizing is about your only option. \$\endgroup\$
    – user2719
    Commented Mar 14, 2011 at 17:56
  • \$\begingroup\$ Ah, a drum scanner. If only... :) I will keep your advice in mind if I ever have (what to me appears to be) infinite money on hand ;). Thanks! And though it's not "true" grain, scans at a lower resolution still won't be perfectly smooth, and this non-smoothness still will have a certain "character" that is notably different between different films. I'm trying to figure out how best to preserve that particular character. I think that's also a topic worth discussing, don't you agree? \$\endgroup\$
    – Job
    Commented Mar 14, 2011 at 20:44
  • 1
    \$\begingroup\$ I think I have to agree with Stan here. If you really want to maintain as much pure grain definition as you can, you probably want to scan the originals at the highest possible resolution. A drum scanner will certainly do better than the Minolta (which is a 3-row RGB CCD scanner, which might not really be ideal). If you can start with more resolution, you have more to work with when downscaling, which should help in preserving detail. \$\endgroup\$
    – jrista
    Commented Mar 14, 2011 at 23:28

I know exactly what I would do, and in fact have done in the past, but my answer is likely to be useless to anyone here. You'll have to be an image processing math freak.

Like others say, scan at the highest res possible.

I'd use high-power interactive math tools like Matlab or IDL to analyze the image into a high-frequency grainy part and a smooth part. There'd be some complicated extra steps to make sure edges go into the smooth part not the grainy part. So it's not just a case of Fourier transforms or some kind of linear filtering. Ideally the grainy part would just be statistical noise with the right look of graininess but no hint of the original image.

Note: it may not be the case that the image analyzed into smooth plus grainy; it might be a somewhat more complex combination as the statistical distribution of the graininess may differ between light areas and dark areas.

The smooth part can be downscaled easily. That is then combined with the unscaled grainy part cropped to fit. Optionally, some downsizing of the grain might look better.

The great thing about this method is that you can apply bicubic to the smooth image, and bilinear to the grain (if you do downsize it), and you can just as well apply any image adjustment to the smooth part but different adjustments to the grainy part.

I am quick to write an IDL or Python script full of heavy math; I don't know if there's a Photoshop or GIMP plug-in that can do this kind of work for the non-insane. I do know that Alien Skin makes some impressive plugins that create and alter film looks including graininess and various film stocks.


The topic of downscaling is very broad, but I think that these pages are the most complete guide to image resize:



There you can find examples and discussion about the best ways to preserve detail without introducing artifacts, from the simpler algorithms to the most complex ones (see second link).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.