使用Java服务中的Zxing库从单个图像文件读取多个条形码
来源:爱站网时间:2022-08-04编辑:网友分享
不知道你们在使用Java服务中的Zxing库从单个图像文件读取多个条形码是怎样操作的,今天小编创建了一个Java服务来使用这里的Zxing库从图像中读取图像的条形码,以便解码这里的文本。
问题描述
[嗨,我已经创建了一个Java服务,用于在这里使用Zxing库从图像中读取图像的条形码,以便在此处解码文本。我面临的挑战是,如果单个条形码的文件工作正常,如果存在多个条形码,则产生不相关的结果,我给了我下面的代码。
pom.xml
com.google.zxing core 3.4.0 com.google.zxing javase 3.4.0
java服务
@GetMapping(value = "OCR/GetBarcodeRead")
@ApiOperation(value = "Get result from Barcode Zxing library")
public String GetBarcodeRead() throws Exception {
InputStream barCodeInputStream = new FileInputStream("images/multiple.jpg");
BufferedImage barCodeBufferedImage = ImageIO.read(barCodeInputStream);
LuminanceSource source = new BufferedImageLuminanceSource(barCodeBufferedImage);
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
Reader reader = new MultiFormatReader();
Result result = reader.decode(bitmap);
return result.getText();
}
结果是这样的
CODE93
具有多个条形码的图像
我应该如何使用Zxing库读取和检索给定图像中的所有条形码?有人可以帮助我实现这一目标吗?在此先感谢
思路:
您可以将阅读器包装到GenericMultipleBarcodeReader
中,并使用decodeMultiple
返回结果数组:
MultipleBarcodeReader multipleReader = new GenericMultipleBarcodeReader(reader);
Result[] results = multipleReader.decodeMultiple(bitmap);
以上就是关于使用Java服务中的Zxing库从单个图像文件读取多个条形码的全过程,更多与Java相关的编程可继续关注爱站技术频道。
上一篇:JAVA语言中的乱码怎么解决
下一篇:java删除标头的解决方法