I try to run text cleaning process based on the camera captured image.
By using OpenCV adaptive threshold method with parameter
(255.0D, AdaptiveThresholdType.MeanC, ThresholdType.Binary, 15, 10.0D), almost all gives satisfactory output but below example gives poor cleaning result (background is not removed well).
(Image from Fred's ImageMagick Scripts - Text Cleaner)
Question 1. I'd like to know which factor cause poor result in this example.
My Question 2 is, which approach can discriminate my attempt(OpenCV) is failed based on the above result? Or, which approach can help to decide whether AdaptiveThreshold will fail or not before running it?
IMO, the pass/fail factor can be a number of background particles but I don't know how to measure it.
I tried Erode method in OpenCV to remove particles, but it gave over whitened result and made too skinny text.