Hi,
We were using ZXing to decode and switched to aspose java lib. Was pretty happy with the results but we have two main issues:
- Return values are often wrong
- Performance is too slow (~1500ms)
Our application sends images of different types of barcodes, datamatrixes and QRCodes. Hence, we need to use a generic reader to decode each images. Also, image frame are captured through video streaming at a rate of 200ms. Each 200ms, we send a frame of the videostream.
We also understand that aspose will “try” each format and if a value is decoded, it will return it.
We also thought that the returned “confidence” and “quality” attributes would help us distinguish between good and bad value. For intance, we would cherry pick the highest confidence value out of the result[]. But they all have the same confidence value!
For those reason, we have to revert to ZXing with equivalent quality of decoding but at a much faster preformance. We are talking ~ 30ms for ZXing compare to ~1500ms for Aspose.
Can you help? Otherwise, I we will ask for a refund. Thanks
This is our aspose code:
Constructor code (only once):
License license = new License();
this.reader = new BarCodeReader();
QualitySettings qualitySettings = QualitySettings.getMaxBarCodes();
qualitySettings.setAllowIncorrectBarcodes(false);
this.reader.setQualitySettings(qualitySettings);
this.reader.setBarCodeReadType(
DecodeType.QR,
DecodeType.DATA_MATRIX,
DecodeType.CODE_128,
DecodeType.CODE_93_STANDARD,
DecodeType.CODE_39_STANDARD,
DecodeType.CODABAR,
DecodeType.EAN_13,
DecodeType.UPCA,
DecodeType.UPCE
);
try {
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
license.setLicense(classloader.getResourceAsStream("Aspose.BarCode.Java.lic"));
} catch (Exception e) {
log.error(e.getMessage());
}
And for each frame:
private BarCodeResult getResult(BufferedImage image) {
reader.setBarCodeImage(image);
BarCodeResult[] results = reader.readBarCodes();
return results[0];
}