How to Read Barcodes from an Image
Features on this page are only available for the Foundational APIs.
Refer to the DecodeFromAnImage sample for an example of decoding from the photo gallery.
The capture methods of the CaptureVisionRouter class are designed to process a single image.
CapturedResult capture(String filePath, String templateName) {}
CapturedResult capture(byte[] fileBytes, String templateName) {}
CapturedResult capture(Bitmap bitmap, String templateName) {}
CapturedResult capture(ImageData imageData, String templateName) {}
Supported Image Types
The following image input types are supported:
- An image specified by file path.
- An image in memory (file bytes).
android.graphics.Bitmap- com.dynamsoft.core.basic_structures.ImageData
When decoding with a file path, provide the full file path, including the extension. Supported extensions are “.bmp”, “.jpg”, “.png”, “.gif”, and single-page “.tiff”.
How to Specify Template Name
When using a capture method, templateName is required. You can specify either a preset template or a custom template name.
Use a Preset Template
EnumPresetTemplate.PT_READ_BARCODES_READ_RATE_FIRST is recommended when processing an image.
CapturedResult capturedResult = mRouter.capture("Your-file-path",EnumPresetTemplate.PT_READ_BARCODES_READ_RATE_FIRST);
Use a Customized Template
For details, see Parameters and Settings - Use a Customized Template.
Code Snippet
- Java
- Kotlin
CapturedResult capturedResult = mRouter.capture("Your file path",EnumPresetTemplate.PT_READ_BARCODES_READ_RATE_FIRST); DecodedBarcodesResult decodedBarcodesResult = capturedResult.getDecodedBarcodesResult(); BarcodeResultItem[] barcodeResultItems = decodedBarcodesResult.getItems(); for(BarcodeResultItem barcodeResultItem: barcodeResultItems) { String barcodeText = barcodeResultItem.getText(); String barcodeFormatString = barcodeResultItem.getFormatString(); }val capturedResult = mRouter.capture("Your file path", EnumPresetTemplate.PT_READ_BARCODES_READ_RATE_FIRST) val decodedBarcodesResult = capturedResult.decodedBarcodesResult val barcodeResultItems = decodedBarcodesResult.items for (barcodeResultItem in barcodeResultItems) { val barcodeText = barcodeResultItem.text val barcodeFormatString = barcodeResultItem.formatString }
CapturedResult: The largest set of image processing results.DecodedBarcodesResultis one subset ofCapturedResult.DecodedBarcodesResult: The set of barcode results. It contains an array ofBarcodeResultItemobjects and additional information.BarcodeResultItem: An object that represents a single decoded barcode.