QualitySettings

QualitySettings class

QualitySettings allows to configure recognition quality and speed manually. You can quickly set up QualitySettings by embedded presets: HighPerformance, NormalQuality, HighQuality, MaxBarCodes or you can manually configure separate options. Default value of QualitySettings is NormalQuality.

public class QualitySettings : joint.BaseJavaClass

Constructors

NameDescription
QualitySettings(object)Initializes a new instance of the QualitySettings class.

Methods

NameDescription
getAllowIncorrectBarcodesAllows engine to recognize barcodes which has incorrect checksumm or incorrect values. Mode can be used to recognize damaged barcodes with incorrect text.
getBarcodeQualityMode which enables methods to recognize barcode elements with the selected quality. Barcode element with lower quality requires more hard methods which slows the recognition.
getComplexBackgroundMode which enables or disables additional recognition of color barcodes on color images.
getDeconvolutionDeconvolution (image restorations) mode which defines level of image degradation. Originally deconvolution is a function which can restore image degraded (convoluted) by any natural function like blur, during obtaining image by camera. Because we cannot detect image function which corrupt the…
getHighPerformanceHighPerformance recognition quality preset. High quality barcodes are recognized well in this mode.
getHighQualityHighQuality recognition quality preset. This preset is developed for low quality barcodes.
getInverseImageMode which enables or disables additional recognition of barcodes on images with inverted colors (luminance).
getMaxQualityMaxQuality recognition quality preset. This preset is developed to recognize all possible barcodes, even incorrect barcodes.
getMinimalXDimensionMinimal size of XDimension in pixels which is used with UseMinimalXDimension.
getNormalQualityNormalQuality recognition quality preset. Suitable for the most of barcodes.
getXDimensionRecognition mode which sets size (from 1 to infinity) of barcode minimal element: matrix cell or bar.
init
initQualitySettings
setAllowIncorrectBarcodes(object)Allows engine to recognize barcodes which has incorrect checksumm or incorrect values. Mode can be used to recognize damaged barcodes with incorrect text.
setBarcodeQuality(object)Mode which enables methods to recognize barcode elements with the selected quality. Barcode element with lower quality requires more hard methods which slows the recognition.
setComplexBackground(object)Mode which enables or disables additional recognition of color barcodes on color images.
setDeconvolution(object)Deconvolution (image restorations) mode which defines level of image degradation. Originally deconvolution is a function which can restore image degraded (convoluted) by any natural function like blur, during obtaining image by camera. Because we cannot detect image function which corrupt the…
setInverseImage(object)Mode which enables or disables additional recognition of barcodes on images with inverted colors (luminance).
setMinimalXDimension(object)Minimal size of XDimension in pixels which is used with UseMinimalXDimension.
setXDimension(object)Recognition mode which sets size (from 1 to infinity) of barcode minimal element: matrix cell or bar.

Examples

//This sample shows how to use QualitySettings with BarCodeReader
let reader = new BarCodeReader("test.png", null,  [ DecodeType.CODE_39, DecodeType.CODE_128 ]);
//set high performance mode
reader.setQualitySettings(QualitySettings.getHighPerformance());
let results = reader.readBarCodes();
for(let i = 0; i < results.length; i++)
{
let result = results[i];
console.log("BarCode CodeText: " + result.getCodeText());
}
let reader = new BarCodeReader("test.png", null,  [ DecodeType.CODE_39, DecodeType.CODE_128 ]);
//normal quality mode is set by default
let results = reader.readBarCodes();
for(let i = 0; i < results.length; i++)
{
let result = results[i];
console.log("BarCode CodeText: " + result.getCodeText());
}
let reader = new BarCodeReader("test.png", null,  [ DecodeType.CODE_39, DecodeType.CODE_128 ]);
//set high quality mode with low speed recognition
reader.setQualitySettings(QualitySettings.getHighQuality());
let results = reader.readBarCodes();
for(let i = 0; i < results.length; i++)
{
let result = results[i];
console.log("BarCode CodeText: " + result.getCodeText());
}
let reader = new BarCodeReader("test.png", null,  [ DecodeType.CODE_39, DecodeType.CODE_128 ]);
//set max barcodes mode, which tries to find all possible barcodes, even incorrect. The slowest recognition mode
reader.setQualitySettings(QualitySettings.getMaxBarCodes());
let results = reader.readBarCodes();
for(let i = 0; i < results.length; i++)
{
let result = results[i];
console.log("BarCode CodeText: " + result.getCodeText());
}
let reader = new BarCodeReader("test.png", null,  [ DecodeType.CODE_39, DecodeType.CODE_128 ]);
//set high performance mode
reader.setQualitySettings(QualitySettings.getHighPerformance());
//set separate options
reader.getQualitySettings().setAllowMedianSmoothing(true);
reader.getQualitySettings().setMedianSmoothingWindowSize(5);
let results = reader.readBarCodes();
for(let i = 0; i < results.length; i++)
{
let result = results[i];
console.log("BarCode CodeText: " + result.getCodeText());
}
let reader = new BarCodeReader("test.png", null,  [ DecodeType.CODE_39, DecodeType.CODE_128 ]);
//default mode is NormalQuality
//set separate options
reader.getQualitySettings().setAllowMedianSmoothing(true);
reader.getQualitySettings().setMedianSmoothingWindowSize(5);
let results = reader.readBarCodes();
for(let i = 0; i < results.length; i++)
{
let result = results[i];
console.log("BarCode CodeText: " + result.getCodeText());
}

See Also