FillThreshold

I may be using this setting incorrectly. Different values do not seem to have an effect.


In C#:
engine.Configuration.FillThreshold = .1; // default seems to be .519…
// Tried it as .519, .3, and .1 but results are the same.
var omrResult = engine.ExtractData(documentImages);

Does the TrimWhitePixels setting play into this? If so, is there a recommendation?


Hi,

Thank you for your inquiry.

Threshold is actually the percentage of the black pixels in the OMR mark area to consider it as filled. Setting the mark threshold level allows Aspose.OCR to determine which area is actually filled. This value directs how leniently or strictly the API will interpret the OMR marks. The default FillThreshold value is set to 0.45 whereas the maximum value is 1.0.

With threshold value as low as 0.1 (10%) all marks are recognized as filled. Marks are considered to be filled because even the empty mark circle takes about 26% to 30% of the area depending on area size, whereas actually filled mark takes about 60% to 70% of the area. Therefore, if threshold value is set less than 30%, all marks are recognized as filled. Sample images are attached showing the percentage for better understanding.

Furthermore please forward us the input file that you are using at your end along with code. We will evaluate it and update you with our findings.