Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ noTitleIndex: true
Create an instance of CaptureVisionRouter.

```java
CaptureVisionRouter(Context context);
CaptureVisionRouter();
```
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,12 @@ noTitleIndex: true
Sets up an image source to provide images for continuous processing.

```java
void setInput(ImageSourceAdapter adapter) throws CaptureVisionRouterException;
void setInput(ImageSourceAdapter imageSourceAdapter) throws CaptureVisionRouterException;
```

**Parameters**

`[in] adapter`: An object of [`ImageSourceAdapter`]({{ site.dcv_android_api }}core/basic-structures/image-source-adapter.html).
`[in] imageSourceAdapter`: An object of [`ImageSourceAdapter`]({{ site.dcv_android_api }}core/basic-structures/image-source-adapter.html).

You can use the following officially implemented `ImageSourceAdapter` classes:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ noTitleIndex: true
Configures runtime settings using a provided JSON string, which contains settings for one or more `CaptureVisionTemplates`.

```java
void initSettings(String content) throws CaptureVisionRouterException;
void initSettings(@NonNull String content) throws CaptureVisionRouterException;
```

**Parameters**
Expand All @@ -54,7 +54,7 @@ void initSettings(String content) throws CaptureVisionRouterException;
Configures runtime settings using a provided JSON file, which contains settings for one or more `CaptureVisionTemplates`.

```java
void initSettingsFromFile(String filePath) throws CaptureVisionRouterException;
void initSettingsFromFile(@NonNull String filePath) throws CaptureVisionRouterException;
```

**Parameters**
Expand Down Expand Up @@ -214,7 +214,7 @@ The Capture Vision settings in a JSON string.
Generates a JSON file download containing the settings for the specified `CaptureVisionTemplate`.

```java
void outputSettingsToFile(String templateName, String filePath, boolean includeDefaultValues) throws CaptureVisionRouterException;
void outputSettingsToFile(String templateName, @NonNull String filePath, boolean includeDefaultValues) throws CaptureVisionRouterException;
```

**Parameters**
Expand Down Expand Up @@ -263,12 +263,12 @@ static void clearDLModelBuffers();

- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000.

## SetGlobalIntraOpNumThreads
## setGlobalIntraOpNumThreads

Sets the global number of threads used internally for model execution.

```java
static void setGlobalIntraOpNumThreads(int intraOpNumThreads);
native static void setGlobalIntraOpNumThreads(int numThreads);
```

**Parameters**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,9 @@ class RegionObjectElement
| Method | Description |
| ------ | ----------- |
| [`getLocation`](#getlocation) | Gets the location of the region object, represented as a [`Quadrilateral`](../basic-structures/quadrilateral.md). |
| [`setLocation`](#setlocation) | Sets the location of the region object, represented as a [`Quadrilateral`](../basic-structures/quadrilateral.md). |
| [`getReferencedElement`](#getreferencedelement) | Gets the referenced element that supports the capturing of this element. |
| [`getRegionObjectElementType`](#getregionobjectelementtype) | The type of the region object element, defined by the enumeration `EnumRegionObjectElementType`. |
| [`getImageData`](#getimagedata) | Gets the image data of this region object element. |
| [`getType`](#gettype) | The type of the region object element, defined by the enumeration `EnumRegionObjectElementType`. |
| [`getImageData`](#getimagedata) | Gets the original image that produce this element. |

### getLocation

Expand All @@ -44,18 +43,6 @@ Quadrilateral getLocation();

The location of the region object, represented as a [`Quadrilateral`](../basic-structures/quadrilateral.md).

### setLocation

Sets the location of the region object, represented as a [`Quadrilateral`](../basic-structures/quadrilateral.md).

```java
void setLocation(Quadrilateral location);
```

**Parameters**

`[in] location`: A `Quadrilateral` object that defines the location of the region object.

### getReferencedElement

Gets the referenced element that supports the capturing of this element.
Expand All @@ -68,12 +55,13 @@ RegionObjectElement getReferencedElement();

The referenced element that supports the capturing of this element.

### getRegionObjectElementType
### getType

Gets the type of the region object element, defined by the enumeration [`EnumRegionObjectElementType`]({{ site.dcv_android_api }}core/enum/region-object-element-type.html).

```java
EnumRegionObjectElementType getType();
@EnumRegionObjectElementType
int getType();
```

**Return Value**
Expand All @@ -82,12 +70,12 @@ The type of the region object element.

### getImageData

Gets the image data of this region object element.
Gets the original image that produce this element.

```java
ImageData getImageData();
```

**Return Value**

The image data of this region object element.
An `ImageData` object represents the original image that produce this element.
73 changes: 38 additions & 35 deletions programming/android/release-notes/android-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,55 +11,58 @@ noTitleIndex: true

## 3.2.1000 (10/16/2025)

🎉 **Milestone Release** - This version introduces groundbreaking AI-powered enhancements that significantly improve accuracy and performance across all barcode and MRZ processing scenarios.
### 🎉Milestone Release

Version 3.2.1000 introduces a series of AI-driven improvements designed to enhance barcode and MRZ detection accuracy, processing speed, and configuration flexibility.

This release focuses on practical performance gains for production environments across retail, logistics, manufacturing, and identity verification workflows.

### ✨ Key Highlights

#### 🔬 Barcode Reader - AI-Powered Revolution
#### AI-Powered Barcode Detection and Decoding

**AI-Powered Detection & Decoding**
- 🧠 **First-to-Market AI Localization**: Revolutionary `OneDLocalization` and `DataMatrixQRCodeLocalization` neural network models for superior detection of **blurred/low-resolution 1D codes** and **DataMatrix/QR codes with missing or damaged finder patterns**
- ⚡ **Specialized Decoders**: Cutting-edge `EAN13Decoder` and `Code128Decoder` models deliver unprecedented accuracy for **blurred and long-distance** scenarios
- 🔍 **Enhanced Clarity Processing**: Completely redesigned `OneDDeblur` model with superior **motion blur and focus blur** recovery algorithms
- 🎯 **Flexible Model Configuration**: Advanced [`ModelNameArray`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#mode-arguments) parameter enables on-demand model loading and precise selection for specific barcode scenarios.
- New Localization Models – Introduces [`OneDLocalization`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html#modelnamearray) and [`DataMatrixQRCodeLocalization`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html#modelnamearray) neural network models for improved detection of **blurred / low-resolution 1D codes**, or **partially damaged DataMatrix/QR codes**.
- Specialized Decoders – Adds [`EAN13Decoder`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#modelnamearray) and [`Code128Decoder`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#modelnamearray) models optimized for **long-distance** and **motion-blurred** decoding scenarios.
- Redesigned Deblur Model – The [`OneDDeblur`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#modelnamearray) model now provides more effective recovery from **motion and focus blur**.
- Configurable Model Selection – The new `ModelNameArray` parameter supports flexible model loading and fine-grained control for specific barcode types.

**Precision Control**
#### Precision and Processing Control

- ⚙️ **Granular Deblur Methods**: Fine-tuned [`DM_DEEP_ANALYSIS`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#dm_deep_analysis) with specialized method control - `OneDGeneral`, `TwoDGeneral`, and `EAN13Enhanced` for targeted optimization.
- 🎯 **Smart Barcode Counting**: New [`ExpectedBarcodesCount`]({{ site.dcvb_parameters_reference }}barcode-format-specification/expected-barcodes-count.html) parameter enables **format-specific quantity control** and **early termination optimization** for known-quantity scenarios.
- 🔍 **Advanced Region Detection**: New [`RPM_GRAY_CONSISTENCY`]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html#rpm_gray_consistency) mode enables precise region detection based on **grayscale uniformity** and **local consistency** for document and label processing.
- Enhanced Deblur Methods [`DM_DEEP_ANALYSIS`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#dm_deep_analysis) now includes sub-level control with `OneDGeneral`, `TwoDGeneral`, and `EAN13Enhanced` options.
- Barcode Count Expectation – The new [`ExpectedBarcodesCount`]({{ site.dcvb_parameters_reference }}barcode-format-specification/expected-barcodes-count.html) parameter enables **format-specific quantity control** and **early termination** in fixed-count workflows.
- Improved Region Detection – The new [`RPM_GRAY_CONSISTENCY`]({{ site.dcvb_parameters_reference }}image-parameter/region-predetection-modes.html#rpm_gray_consistency) mode provides more precise region extraction based on **grayscale uniformity** and **local consistency** for document and label processing.

**Enhanced Text Processing**
- 🚀 **High-Speed and Precise MRZ Region Detection**: Revolutionary neural network `MRZLocalization` model delivers **42.7% faster processing** with enhanced region detection accuracy for passport and ID workflows
- 🎛️ **Advanced Localization**: New [`LocalizationModes`]({{ site.dcvb_parameters_reference }}label-recognizer-task-settings/localization-modes.html) parameter provides unprecedented control over text line detection algorithms
#### AI-Powered MRZ Detection

**Smart Document Processing**
- 🎥 **Clarity-Based Frame Selection**: Intelligent frame selection automatically chooses the sharpest, highest-quality document images
- 🔄 **Enhanced Cross-Frame Verification**: Advanced cross-frame verification algorithms significantly improve result reliability and accuracy
- Neural MRZ Localization – The new [`MRZLocalization`]({{ site.dcvb_parameters_reference }}label-recognizer-task-settings/localization-modes.html#modelnamearray) model improves region detection accuracy and delivers up to **42.7%** faster processing for MRZ-based document workflows.
- Configurable Localization Control – The new [`LocalizationModes`]({{ site.dcvb_parameters_reference }}label-recognizer-task-settings/localization-modes.html) parameter allows configuration for text line detection.

### 💡 What This Means for You
#### Smart Document Capture

**For Challenging Barcode Scenarios**
- **Blurred conditions**: 26.5% better read rates with 44% faster processing - ideal for handheld scanning and moving objects
- **Extended distance capability**: Breakthrough support for reading distances beyond 75cm - revolutionizing warehouse automation and high-shelf scanning
- **Damaged 2D codes**: Enhanced detection of DataMatrix and QR codes with missing or damaged finder patterns - perfect for manufacturing and logistics applications
- Clarity-Based Frame Selection – Automatically selects the sharpest and highest-quality frame in live capture workflows.
- Cross-Frame Verification – Updated verification algorithms enhance result reliability.

**For Document Processing Applications**
- **Real-time video streams**: Optimized performance maintains smooth user experience in live capture scenarios
- **Document quality assessment**: Intelligent clarity-based frame selection ensures highest quality document captures
### Performance Highlights

**For Enterprise Integration**
- **Retail environments**: Enhanced performance for blurred handheld scanning and long-distance shelf reading
- **Logistics & shipping**: Improved recognition for package tracking with better blur and long-distance scanning capabilities
- **Manufacturing QC**: Improved 2D code reading on printed/etched parts with wear damage
- **Security applications**: Faster MRZ processing for high-throughput identity verification
#### Barcode Workflows

**For Developers**
- **Backward Compatible**: Seamless upgrade with existing code and easy migration path
- **Flexible Configuration**: Extensive parameter customization for specific use cases and comprehensive model configuration options
- **Enterprise Ready**: Battle-tested stability for production environments
- Up to **26.5%** higher read rates under blur conditions with as much as **44%** faster processing.
- Reliable decoding of DataMatrix and QR codes with missing or damaged finder patterns.
- Extended operational range beyond 75 cm for long-distance barcode scanning.

### Changed
#### Document Workflows

- Improved performance in live video capture environments.
- Consistent document quality through clarity-based frame evaluation.
- Faster MRZ processing for high-throughput identity verification

### Developer Notes

- Backward Compatibility – Fully compatible with existing integrations; no code-level changes required for upgrade.
- Configuration Flexibility – Expanded parameter set allows comprehensive model configuration for scenario-specific tuning.
- Production Stability – All new models validated in enterprise environments.

### New

- Added a new method, [`switchCapturingTemplate`]({{ site.dcv_android_api }}capture-vision-router/multiple-file-processing.html#switchcapturingtemplate), which allows switching templates dynamically during the image processing workflow.
- Added a new method, [`clearDLModelBuffers`]({{ site.dcv_android_api }}capture-vision-router/settings.html#cleardlmodelbuffers), to release memory by clearing buffered deep learning models.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,9 @@ class RegionObjectElement : NSObject
| Method | Description |
|------- |-------------|
| [`getLocation`](#getlocation) | Gets the location of the region object, represented as a quadrilateral. |
| [`setLocation`](#setlocation) | Sets the location of the region object. |
| [`getReferencedElement`](#getreferencedelement) | Gets the referenced element that supports the capturing of this element. |
| [`getRegionObjectElementType`](#getregionobjectelementtype) | Gets the type of the region object element, defined by the enumeration [`DSRegionObjectElementType`]({{ site.dcv_ios_api }}core/enum/region-object-element-type.html?lang=objc,swift). |
| [`getImageData`](#getimagedata) | Gets the image data of this region object element. |
| [`getRegionObjectElementType`](#gettype) | Gets the type of the region object element, defined by the enumeration [`DSRegionObjectElementType`]({{ site.dcv_ios_api }}core/enum/region-object-element-type.html?lang=objc,swift). |
| [`getImageData`](#getimagedata) | Gets the original image that produce this element. |

### getLocation

Expand All @@ -60,27 +59,6 @@ func getLocation() -> DSQuadrilateral?

The location info of the element that defined in DSQuadrilateral.

### setLocation

Sets the location of the region object.

<div class="sample-code-prefix"></div>
>- Objective-C
>- Swift
>
>1.
```objc
-(void)setLocation:(DSQuadrilateral *)location;
```
2.
```swift
func setLocation(_ location: DSQuadrilateral?)
```

**Parameters**

`location`: The location info of the element that defined in DSQuadrilateral.

### getReferencedElement

Get the referenced element that supports the capturing of this element.
Expand All @@ -102,7 +80,7 @@ func getReferencedElement() -> RegionObjectElement?

The referenced element that supports the capturing of this element.

### getRegionObjectElementType
### getType

Gets the type of the region object element, defined by the enumeration [`DSRegionObjectElementType`]({{ site.dcv_ios_api }}core/enum/region-object-element-type.html?lang=objc,swift).

Expand All @@ -112,11 +90,11 @@ Gets the type of the region object element, defined by the enumeration [`DSRegio
>
>1.
```objc
-(DSRegionObjectElementType)getRegionObjectElementType;
- (DSRegionObjectElementType)getType;
```
2.
```swift
func getRegionObjectElementType() -> RegionObjectElementType
func getType() -> DSRegionObjectElementType
```

**Return Value**
Expand All @@ -125,7 +103,7 @@ The type of the region object element.

### getImageData

Gets the image data of this region object element.
Gets the original image that produce this element.

<div class="sample-code-prefix"></div>
>- Objective-C
Expand All @@ -142,4 +120,4 @@ func getImageData() -> DSImageData?

**Return Value**

A `DSImageData` object that represents the image data of this region object element.
A `DSImageData` object represents the original image that produce this element.
Loading