1. Summary

I couldn't find any free tool, that correctly automatically remove spots from my books.

2. Data

Example page of my real book:

I want to delete these spots:


How I can automatically do it? Irrelevant, for images or PDF.

3. Background

I have bad-quality third-party scanned books in DjVu or PDF formats. Example page:

I processed books in ScanTailor Advanced → I set to the maximum Despeckling setting:

ScanTailor Advanced Despeckling

But in the output I however got spots for many books pages.

4. Do not offer

  1. Non-free tools
  2. Yes, I can manually remove these spots use tools as GIMP Bucket Fill. But the manual spots removing takes a lot of time for big books.

5. Not helped

5.1. Scan handlers

  1. ScanTailor Advanced aggressive despeckle
  2. ScanKromsator Despeckle option

5.2. Image editors

5.2.1. Not supported


ImageJ cannot open TIFF files compressed in this fashion (4)


5.2.1. No effect
  1. ImageMagick -despeckle optionmagick KiraDespeckle.tif -despeckle KiraMagick.tif
  2. GraphicsMagick -despeckle optiongm convert KiraDespeckle.tif -despeckle KiraGraphicsMagick.tif
  3. XnViewMP FilterReduce noise

5.3. PDF editors

I couldn't find, how I can get expected behavior, use these tools (free versions):

  • PDF-XChange Editor
  • PDFill
  • LibreOffice Draw
  • Icecream PDF Editor
  • 1
    For something like that to work, the software would have to know which speckles are spots requiring removal, and which are punctuation marks that need to be left. I'm not saying it wouldn't be possible, but it would require the development of software with artificial intelligence to make such decisions - and that's not within the scope of GDSE. Perhaps try asking in some programming forum to find out if it's even doable. Another option might be to use OCR to scan the text - but success will depend on the quality of the original, which you have already said is a problem.
    – Billy Kerr
    Sep 6 '19 at 11:28
  • 1
    An AI capable of removing these spots should understand the font used, rules of spelling and punctuation and the layout of the page (line height, margins, whitespace etc.). All the information which enables you to recognise the spots as spots. If you can make a program which does that, why not instead use it to recreate the page in vector? I think this is a hard programming question - I wish I could answer it :-)
    – Wolff
    Sep 6 '19 at 16:06
  • I agree with other comments, this is already almost perfect and could only be improved using ocr.
    – Nobody
    May 2 '20 at 10:31

Your Answer

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

Browse other questions tagged or ask your own question.