I am doing historical research for which the only document source is microfilm typically created in the 1950s by technicians who did not understand the characteristics of this then new technology. Flat-bed scanning was not available at the time and even flourescent illumination was rare so the resulting images suffer from vignetting both as a result of the camera system, which used an inappropriate f-stop, and the illumination from incandescent spot-lights. This is further aggravated by the most common implementations of microfilm viewers in libraries, which use a lens to focus an image on a camera sensor instead of scanning the microfilm. The resultant image files thus have several layers of vignetting and optical distortion. And there are, of course literally millions of reels of microfilm, each with typically over 1000 images. The Family History Library of the Church of Latter Day Saints has fortunately done flat-scans of the several hundred million microfilm reels they have buried under a mountain in Utah, but that only applies to those documents which

  1. are of interest to the LDS objective of ensuring that all ancestors have been baptized, and
  2. whose original owner has permitted the FHL to make available on the website FamilySearch.org.

For my research I need access to thousands of pages of original documents for which those conditions do not apply. All of the suggestions about how to remove original vignetting from such images that I can find here or on other discussion boards are simply too much work to apply to the thousands of images. Since vignetting is an intrinsic problem with any photographic image I do not understand why nobody has developed a filter which models the actual mathematical properties of vignetting.

I am also extremely limited in funding.

  • \$\begingroup\$ Ten pages a day, five days a week, is 2500 pages per year. A few years and it is done for a limited financial budget. It is almost certain that it will become faster and easier after the first few hundred. Once you know the operations to get what you want then it may be practical to automate. Or not. \$\endgroup\$ Aug 1, 2021 at 2:12
  • \$\begingroup\$ Is it documents (typically black text written on a white background) or photographs? \$\endgroup\$ Aug 2, 2021 at 13:43
  • \$\begingroup\$ Thank you for your suggestions. The original documents are a combination of forms filled in by hand and printed documents, such as newspapers. I have some frustration because I wish to proceed with the research and spending hundreds of hours converting obsolete microfilm into digital images is undesirable. I should have also mentioned that my financial resources to not extend to paying for Microsoft Windows, so I need a LINUX solution. \$\endgroup\$ Aug 2, 2021 at 16:24

2 Answers 2


If we talk about about digital images and the vignetting is more or less constant you can use for example XnView MP, select images, create batch convert and add as action Vignetting. Then select appropriate values and run the batch (the values on the image are extreme to demonstrate the effect): enter image description here

P.S. No affiliate with the developer(s) of XnView

  • 1
    \$\begingroup\$ ImageMagick also performs vignetting, but XnView is much easier to use. \$\endgroup\$
    – qrk
    Aug 1, 2021 at 7:04
  • \$\begingroup\$ @qrk, unfortunately I have no deep experience with ImageMagick :) \$\endgroup\$ Aug 1, 2021 at 8:30

First things first: If the vignette is too dark, then recovering data from scans is next to impossible(without severe loss of quality). If the vignetting is light, then data can easily be recovered, but the image will appear washed out unless carefully toned.

In any case, here are the solutions that came to my mind.

If you think you can finish them all in 30 days, get yourself a lightroom trial version. Apply the vignette correction you want to the first image,then select all images and sync settings and export them back out. DONE!!!


You could also simply get someone with a little programming knowledge to help you out. It is quite easy to write a python script which uses OpenCV or ImageMagick. (IMHO Open CV programming is more complicated than ImageMagick but installation of ImageMagick is not as easy as OpenCV).

If you want an easy approach to ImageMagick using python, I'd suggest installing wand (pip install Wand). Before Installing Wand, you need to have ImageMagick Libraries installed.

Follow the steps in :


download either ImageMagick-6.9.12-19-Q8-x86-dll.exe or ImageMagick-6.9.12-19-Q8-x64-dll.exe

depending on the python runtime you have.

download from https://download.imagemagick.org/ImageMagick/download/binaries/

if you face any errors after that, refer to: https://docs.wand-py.org/en/0.6.6/guide/install.html#install-imagemagick-on-windows

In order to get started with the vignette removal, refer to https://www.geeksforgeeks.org/wand-vignette-method-python/

The above link is only to provide the skeleton of your programme. You need to modify the code to suit your needs later on. For example, create a variable to measure the resolution of your image and then, using your judgement, pass arguments into the vignette function as needed(The start and end radius will be fractions of the resolution {the vignette intensity and feather radius depends on source images}).

Fine Tune the parameters as you see fit and add a few lines to recursively search through the folders in which you have images saved.

  • \$\begingroup\$ Thank you for your suggestion. I have been looking through the ImageMagick forum posts. Obviously I have no access to the original camera system. When the microfilm was made the technicians and the management who ordered the microfilm clearly did not understand the technology. They used a high fstop, generating the vignetting, even though there was no requirement for depth of field. They used incandescent lighting which in combination with blue sensitive film reduced the contrast between the text and the paper and created another source of vignetting. I HATE MICROFILM! \$\endgroup\$ Aug 2, 2021 at 16:45
  • 1
    \$\begingroup\$ You seem to have a misconception about f-stop and vignetting. Vignetting is typically worse with open aperture. \$\endgroup\$ Aug 3, 2021 at 9:38
  • \$\begingroup\$ @JamesCobban, Ralf is right. Opening up the aperture will increase vignetting. Slightly closing the aperture generally results in reduced vignetting. If you do not have access to the original filming setup, how are you sure about which aperture was used?? Also, in case you have access to the original microfilm, you could simply just re-scan it yourself and avoid the hassle of learning new softwares/programming to solve the vignetting problem. \$\endgroup\$ Aug 3, 2021 at 11:33

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.