I have a number of jpg images whose quality I would like to improve. It is planned to both print them and use them in digital format. I guess to use the GIMP or another programm that I can install in my Linux. I expect you to advise me a tutorial with relevant information. I have reduced original images with ImageMagick's convert command for posting here. These are scans of award documents from the Second World War in Russian.doc_1.jpg


  • What exactly do you mean with "improving the quality" in this case? Are you trying to make the text more readable? – Bestorio Jan 14 at 10:11
  • Yes, I want the text to be more readable both through the projector and when printed on paper – klpu39 Jan 14 at 10:14
  • check also this one graphicdesign.stackexchange.com/questions/29901/… – Luciano Jan 14 at 13:14
  • Please share what you have tried. Users are happy to assist. But, this isn't a "tutorial on demand" site. – Scott Jan 14 at 15:31
  • @Scott - I try the algorithm that the user xenoid described to me. It takes me time. – klpu39 Jan 14 at 15:38

The simple technique

Use the Curves tool.

If you look at the image histogram:

  • The hump (1) is a peak frequency of dark pixels and is your text
  • The hump (2) is a peak frequency of light pixels and is your background
  • No pixels beyond (3) because your background is rather dark.

So with Curves, you make a diagonal between (A) (everything darker will be pure black) and (B) everything lighter will be white. You can make the curve follow a slight "S" shape to improve contrast.

An inconvenient of that method is that it is limited by 1) color shifts and 2) darker parts of the background that make it hard to handle the text correctly.

enter image description here

A more efficient technique (Gimp 2.10)

  • Decompose the image into frequency components: Filters>Enhance>Wavelet decompose. YOU get alayer group called "Decomposition". Each layer of this group contains a part of the image. The top layers are the fine detail (the text) while the bottom layers are the general image (the paper).
  • You can easily clean most of your background and make it white by bucket-filling the "Residual" layer with white. You can also tryo to bucket-fill the layer immediately above it.
  • You can add "sharpness" to you image by duplicating the "Scale 1" layer (and sometimes the "Scale 2" one as well).
  • However, your text is not very dark, so create a new layer from all this (Layer>New from visible) and move it to the top of the layer stack.
  • Then you can use Curves as above, making a diagonal where the bottom point is where the histogram stops to the left (you can leave the other point in the top right corner). You can also add some contrast with an S-shaped curve.

enter image description here

| improve this answer | |
  • II did as suggested by xenoid and got results satisfying me. – klpu39 Jan 15 at 16:54
  • 1
    Then you can "accept" the the answer (click the gray checkmark) :). Out of curiosity, which technique did you use? – xenoid Jan 15 at 18:57
  • First, I applied the algorithm that you cited under point "A more efficient technique (Gimp 2.10)"; then I applied the one under paragraph "The simple technique" for all three photographs. This gave acceptable results that can be printed on a printer - the background does not become as dark as in the original photographs. Of course, you need to look for a compromise between sharpness and lightness. I also installed the G'Mic extension, as indicated in the link given by Luciano, but could not achieve any results with it. – klpu39 Jan 16 at 3:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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