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
1 change: 1 addition & 0 deletions _includes/sidelist-programming/programming-cpp.html
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@
<li><a href="{{ site.dbr_cpp_api }}decoded-barcodes-unit.html" class="otherLinkColour">CDecodedBarcodesUnit</a></li>
<li><a href="{{ site.dbr_cpp_api }}deformation-resisted-barcode-image-unit.html" class="otherLinkColour">CDeformationResistedBarcodeImageUnit</a></li>
<li><a href="{{ site.dbr_cpp_api }}deformation-resisted-barcode.html" class="otherLinkColour">CDeformationResistedBarcode</a></li>
<li><a href="{{ site.dbr_cpp_api }}eci-segment.html" class="otherLinkColour">CECISegment</a></li>
<li><a href="{{ site.dbr_cpp_api }}extended-barcode-result.html" class="otherLinkColour">CExtendedBarcodeResult</a></li>
<li><a href="{{ site.dbr_cpp_api }}localized-barcode-element.html" class="otherLinkColour">CLocalizedBarcodeElement</a></li>
<li><a href="{{ site.dbr_cpp_api }}localized-barcodes-unit.html" class="otherLinkColour">CLocalizedBarcodesUnit</a></li>
Expand Down
1 change: 1 addition & 0 deletions _includes/sidelist-programming/programming-dotnet.html
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
<li><a href="{{ site.dbr_dotnet_api }}decoded-barcodes-unit.html" class="otherLinkColour">DecodedBarcodesUnit</a></li>
<li><a href="{{ site.dbr_dotnet_api }}deformation-resisted-barcode-image-unit.html" class="otherLinkColour">DeformationResistedBarcodeImageUnit</a></li>
<li><a href="{{ site.dbr_dotnet_api }}deformation-resisted-barcode.html" class="otherLinkColour">DeformationResistedBarcode</a></li>
<li><a href="{{ site.dbr_dotnet_api }}eci-segment.html" class="otherLinkColour">ECISegment</a></li>
<li><a href="{{ site.dbr_dotnet_api }}extended-barcode-result.html" class="otherLinkColour">ExtendedBarcodeResult</a></li>
<li><a href="{{ site.dbr_dotnet_api }}localized-barcode-element.html" class="otherLinkColour">LocalizedBarcodeElement</a></li>
<li><a href="{{ site.dbr_dotnet_api }}localized-barcodes-unit.html" class="otherLinkColour">LocalizedBarcodesUnit</a></li>
Expand Down
3 changes: 2 additions & 1 deletion _includes/sidelist-programming/programming-java.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/captured-result.html" class="otherLinkColour">CapturedResult</a></li>
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/intermediate-result-manager.html" class="otherLinkColour">IntermediateResultManager</a></li>
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/intermediate-result-receiver.html" class="otherLinkColour">IntermediateResultReceiver</a></li>
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/preset-template.html" class="otherLinkColour">PresetTemplate</a></li>
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/auxiliary-classes/simplified-capture-vision-settings.html" class="otherLinkColour">SimplifiedCaptureVisionSettings</a></li>
</ul>
</li>
Expand All @@ -93,6 +92,7 @@
<ul>
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/enum-capture-state.html" class="otherLinkColour">EnumCaptureState</a></li>
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/enum-image-source-state.html" class="otherLinkColour">EnumImageSourceState</a></li>
<li><a href="{{ site.dcvb_java_api }}capture-vision-router/enum-preset-template.html" class="otherLinkColour">EnumPresetTemplate</a></li>
</ul>
</li>
</ul>
Expand All @@ -115,6 +115,7 @@
<li><a href="{{ site.dbr_java_api }}decoded-barcodes-unit.html" class="otherLinkColour">DecodedBarcodesUnit</a></li>
<li><a href="{{ site.dbr_java_api }}deformation-resisted-barcode-image-unit.html" class="otherLinkColour">DeformationResistedBarcodeImageUnit</a></li>
<li><a href="{{ site.dbr_java_api }}deformation-resisted-barcode.html" class="otherLinkColour">DeformationResistedBarcode</a></li>
<li><a href="{{ site.dbr_java_api }}eci-segment.html" class="otherLinkColour">ECISegment</a></li>
<li><a href="{{ site.dbr_java_api }}extended-barcode-result.html" class="otherLinkColour">ExtendedBarcodeResult</a></li>
<li><a href="{{ site.dbr_java_api }}localized-barcode-element.html" class="otherLinkColour">LocalizedBarcodeElement</a></li>
<li><a href="{{ site.dbr_java_api }}localized-barcodes-unit.html" class="otherLinkColour">LocalizedBarcodesUnit</a></li>
Expand Down
1 change: 1 addition & 0 deletions _includes/sidelist-programming/programming-python.html
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
<li><a href="{{ site.dbr_python_api }}decoded-barcodes-unit.html" class="otherLinkColour">DecodedBarcodesUnit</a></li>
<li><a href="{{ site.dbr_python_api }}deformation-resisted-barcode-image-unit.html" class="otherLinkColour">DeformationResistedBarcodeImageUnit</a></li>
<li><a href="{{ site.dbr_python_api }}deformation-resisted-barcode.html" class="otherLinkColour">DeformationResistedBarcode</a></li>
<li><a href="{{ site.dbr_python_api }}eci-segment.html" class="otherLinkColour">ECISegment</a></li>
<li><a href="{{ site.dbr_python_api }}extended-barcode-result.html" class="otherLinkColour">ExtendedBarcodeResult</a></li>
<li><a href="{{ site.dbr_python_api }}localized-barcode-element.html" class="otherLinkColour">LocalizedBarcodeElement</a></li>
<li><a href="{{ site.dbr_python_api }}localized-barcodes-unit.html" class="otherLinkColour">LocalizedBarcodesUnit</a></li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@
<li><a href="{{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-width-range-array.html" class="otherLinkColour">BarcodeWidthRangeArray</a></li>
<li><a href="{{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-bar-count-range-array.html" class="otherLinkColour">BarcodeZoneBarCountRangeArray</a></li>
<li><a href="{{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-min-distance-to-image-borders.html" class="otherLinkColour">BarcodeZoneMinDistanceToImageBorders</a></li>
<li><a href="{{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-width-to-height-ratio-range-array.html" class="otherLinkColour">BarcodeZoneWidthToHeightRatioRangeArray</a></li>
<li><a href="{{ site.dcvb_parameters_reference }}barcode-format-specification/code128-subset.html" class="otherLinkColour">Code128Subset</a></li>
<li><a href="{{ site.dcvb_parameters_reference }}barcode-format-specification/data-matrix-module-isotropic.html" class="otherLinkColour">DataMatrixModuleIsotropic</a></li>
<li><a href="{{ site.dcvb_parameters_reference }}barcode-format-specification/data-matrix-size-options.html" class="otherLinkColour">DataMatrixSizeOptions</a></li>
Expand Down
48 changes: 48 additions & 0 deletions programming/cplusplus/api-reference/barcode-result-item.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ class CBarcodeResultItem : public CCapturedResultItem
| [`IsDPM`](#isdpm) | Gets whether the decoded barcode is a DPM code. |
| [`IsMirrored`](#ismirrored) | Gets whether the decoded barcode is a mirrored barcode. |
| [`SetLocation`](#setlocation) | Set the location of the barcode item. |
| [`GetECISegmentsCount`](#getecisegmentscount) | Gets the number of ECI segments in the barcode. |
| [`GetECISegment`](#getecisegment) | Gets the ECI segment at the specified index. |
| **Methods Inherited from [CCapturedResultItem]({{ site.dcvb_cpp_api }}core/basic-structures/captured-result-item.html):** | |
| [`GetType`]({{ site.dcvb_cpp_api }}core/basic-structures/captured-result-item.html#gettype) | Gets the type of the captured result item. |
| [`GetReferenceItem`]({{ site.dcvb_cpp_api }}core/basic-structures/captured-result-item.html#getreferenceitem) | Gets a pointer to the referenced item in the captured result. |
Expand Down Expand Up @@ -87,6 +89,12 @@ virtual const char* GetText() const = 0;

Returns the text result of the decoded barcode.

**Remarks**

The text result is returned in UTF-8 encoding. The SDK will automatically attempt to detect and convert the barcode bytes to UTF-8 based on ECI information or common character encodings.

If the returned text contains unexpected characters, it may indicate that the automatic encoding detection did not match the actual encoding of the barcode data. In this case, you should use [`GetBytes`](#getbytes) to retrieve the raw byte data and convert it to the appropriate character encoding yourself.

### GetBytes

It is used to get the text bytes of the decoded barcode result.
Expand Down Expand Up @@ -231,3 +239,43 @@ Returns an error code. Zero indicates success.
**See Also**

[CQuadrilateral]({{ site.dcvb_cpp_api }}core/basic-structures/quadrilateral.html)

### GetECISegmentsCount

Gets the number of ECI segments in the barcode.

```cpp
virtual int GetECISegmentsCount() const = 0;
```

**Return value**

Returns the count of ECI segments. Returns 0 if no ECI information is present.

**Remarks**

Introduced in Dynamsoft Barcode Reader SDK version 11.4.1000 and Dynamsoft Capture Vision version 3.4.1000.

### GetECISegment

Gets the ECI segment at the specified index.

```cpp
virtual const CECISegment* GetECISegment(int index) const = 0;
```

**Parameters**

`[in] index` The zero-based index of the ECI segment to retrieve.

**Return value**

Returns a pointer to the [`CECISegment`]({{ site.dbr_cpp_api }}eci-segment.html) object, or NULL if the index is out of range.

**See Also**

[CECISegment]({{ site.dbr_cpp_api }}eci-segment.html)

**Remarks**

Introduced in Dynamsoft Barcode Reader SDK version 11.4.1000 and Dynamsoft Capture Vision version 3.4.1000.
41 changes: 41 additions & 0 deletions programming/cplusplus/api-reference/decoded-barcode-element.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@ class CDecodedBarcodeElement : public CRegionObjectElement
| [`SetText`](#settext) | Sets the text of the decoded barcode. |
| [`SetBytes`](#setbytes)| Sets the raw bytes of the decoded barcode.|
| [`SetConfidence`](#setconfidence) | Sets the confidence score of the barcode recognition result. |
| [`GetECISegmentsCount`](#getecisegmentscount) | Gets the number of ECI segments in the barcode. |
| [`GetECISegment`](#getecisegment) | Gets the ECI segment at the specified index. |
| **Methods Inherited from [CRegionObjectElement]({{ site.dcvb_cpp_api }}core/intermediate-results/region-object-element.html):** | |
| [`GetLocation`]({{ site.dcvb_cpp_api }}core/intermediate-results/region-object-element.html#getlocation) | Gets the location of the region object element. |
| [`GetReferencedElement`]({{ site.dcvb_cpp_api }}core/intermediate-results/region-object-element.html#getreferencedelement) | Gets a pointer to a referenced region object element. |
Expand Down Expand Up @@ -281,3 +283,42 @@ virtual void SetConfidence(int confidence) = 0;

`[in] confidence` The confidence of the barcode.

### GetECISegmentsCount

Gets the number of ECI segments in the barcode.

```cpp
virtual int GetECISegmentsCount() const = 0;
```

**Return value**

Returns the count of ECI segments. Returns 0 if no ECI information is present.

**Remarks**

Introduced in Dynamsoft Barcode Reader SDK version 11.4.1000 and Dynamsoft Capture Vision version 3.4.1000.

### GetECISegment

Gets the ECI segment at the specified index.

```cpp
virtual const CECISegment* GetECISegment(int index) const = 0;
```

**Parameters**

`[in] index` The zero-based index of the ECI segment to retrieve.

**Return value**

Returns a pointer to the [`CECISegment`]({{ site.dbr_cpp_api }}eci-segment.html) object, or NULL if the index is out of range.

**See Also**

[CECISegment]({{ site.dbr_cpp_api }}eci-segment.html)

**Remarks**

Introduced in Dynamsoft Barcode Reader SDK version 11.4.1000 and Dynamsoft Capture Vision version 3.4.1000.
70 changes: 70 additions & 0 deletions programming/cplusplus/api-reference/eci-segment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
layout: default-layout
title: CECISegment Class - Dynamsoft Barcode Reader C++ Edition API Reference
description: This page shows CECISegment class definition of Dynamsoft Barcode Reader SDK C++ Edition.
keywords: CECISegment, ECI, Extended Channel Interpretation, api reference
---

# CECISegment Class

The `CECISegment` class represents the Extended Channel Interpretation (ECI) information within a barcode. Each ECI segment specifies the character encoding used for a portion of the decoded bytes. The charset names follow the IANA character set registry (e.g. "UTF-8", "ISO-8859-1").

**Remarks**

Introduced in Dynamsoft Barcode Reader SDK version 11.4.1000 and Dynamsoft Capture Vision version 3.4.1000.

## Definition

*Namespace:* dynamsoft::dbr

*Assembly:* DynamsoftBarcodeReader

```cpp
class CECISegment
```

## Attributes

| Attribute | Type | Description |
| --------- | ---- | ----------- |
| [`eciValue`](#ecivalue) | *int* | ECI assignment number as defined by ISO/IEC 15424. |
| [`charsetEncoding`](#charsetencoding) | *const char\** | Charset encoding name defined by IANA. |
| [`startIndex`](#startindex) | *int* | Start index of this ECI segment in the decoded barcode bytes. |
| [`length`](#length) | *int* | Length (in bytes) of this segment within the decoded barcode bytes. |

### eciValue

ECI assignment number as defined by ISO/IEC 15424.

```cpp
int eciValue
```

### charsetEncoding

Charset encoding name defined by IANA (e.g. "UTF-8", "ISO-8859-1").

```cpp
const char* charsetEncoding
```

### startIndex

Start index of this ECI segment in the decoded barcode bytes.

```cpp
int startIndex
```

### length

Length (in bytes) of this segment within the decoded barcode bytes.

```cpp
int length
```

## See Also

- [`CBarcodeResultItem`]({{ site.dbr_cpp_api }}barcode-result-item.html)
- [`CDecodedBarcodeElement`]({{ site.dbr_cpp_api }}decoded-barcode-element.html)
1 change: 1 addition & 0 deletions programming/cplusplus/api-reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ needAutoGenerateSidebar: false
- [`CDecodedBarcodesUnit`]({{ site.dbr_cpp_api }}decoded-barcodes-unit.html)
- [`CDeformationResistedBarcode`]({{ site.dbr_cpp_api }}deformation-resisted-barcode.html)
- [`CDeformationResistedBarcodeImageUnit`]({{ site.dbr_cpp_api }}deformation-resisted-barcode-image-unit.html)
- [`CECISegment`]({{ site.dbr_cpp_api }}eci-segment.html)
- [`CExtendedBarcodeResult`]({{ site.dbr_cpp_api }}extended-barcode-result.html)
- [`CLocalizedBarcodeElement`]({{ site.dbr_cpp_api }}localized-barcode-element.html)
- [`CLocalizedBarcodesUnit`]({{ site.dbr_cpp_api }}localized-barcodes-unit.html)
Expand Down
62 changes: 62 additions & 0 deletions programming/cplusplus/release-notes/cpp-11.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,68 @@ needGenerateH3Content: false

# Release Notes for C++ Edition - 11.x

## 11.4.1000 (02/05/2026)

### Highlights

#### AI-Powered Barcode Detection and Decoding

- **PDF417 Localization Model** – Introduces the [`PDF417Localization`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/localization-modes.html#modelnamearray) neural network model for improved detection of PDF417 barcodes, especially under challenging conditions.

- **Code39/ITF Decoding Model** – Adds the [`Code39ITFDecoder`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#modelnamearray) model for enhanced decoding of Code 39 and ITF barcodes under blurred or low-resolution conditions.

- **Deblur Models for 2D Barcodes** – Adds the [`DataMatrixQRCodeDeblur`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#modelnamearray) and [`PDF417Deblur`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html#modelnamearray) models to provide more effective recovery from motion and focus blur for DataMatrix, QR Code, and PDF417 barcodes.

#### ECI (Extended Channel Interpretation) Support

- **ECI Information Return** – Adds support for retrieving Extended Channel Interpretation (ECI) data from barcodes. The new [`CECISegment`]({{ site.dbr_cpp_api }}eci-segment.html) class, along with the `GetECISegmentsCount()` and `GetECISegment()` methods in the [`CBarcodeResultItem`]({{ site.dbr_cpp_api }}barcode-result-item.html#getecisegment) and [`CDecodedBarcodeElement`]({{ site.dbr_cpp_api }}decoded-barcode-element.html#getecisegment) classes, enables access to character encoding information embedded in barcodes.

- **ECI-Based Text Interpretation** – Adds support for interpreting ECI segments during barcode decoding, improving compatibility with international character sets.

#### Performance Improvements

- **On-Demand Model Loading** – Implements lazy loading for AI models, reducing initialization time by loading models only when first needed.

- **Smart Model Selection** – Models are now loaded based on configured barcode formats, minimizing memory usage by excluding unused models.

- **Improved Confidence Scoring** – Enhances confidence score calculation for results from neural network models, providing more accurate quality indicators.

- **DPM Barcode Optimization** – Improves recognition rate for Direct Part Marking (DPM) barcodes commonly used in industrial and manufacturing environments.

### New

- Added [`BarcodeZoneWidthToHeightRatioRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-width-to-height-ratio-range-array.html) parameter for filtering barcodes based on aspect ratio constraints.

- Added [`SetResultCrossVerificationCriteria()`]({{ site.dcvb_cpp_api }}utility/multi-frame-result-cross-filter.html#setresultcrossverificationcriteria) and [`GetResultCrossVerificationCriteria()`]({{ site.dcvb_cpp_api }}utility/multi-frame-result-cross-filter.html#getresultcrossverificationcriteria) methods to `CMultiFrameResultCrossFilter` for configurable multi-frame result verification.

### Changed

- `CaptureMultiPages` now returns results sorted by page number.

- Barcode text encoding fallback changed from UTF-8 to ISO-8859-1 when no ECI information is present in the barcode.

- Updated default value of `compensation` parameter in [`CImageProcessor::ConvertToBinaryLocal()`]({{ site.dcvb_cpp_api }}utility/image-processor.html#converttobinarylocal) from 0 to 10.

- [`ConvertToBinaryGlobal()`]({{ site.dcvb_cpp_api }}utility/image-processor.html#converttobinaryglobal) and [`ConvertToBinaryLocal()`]({{ site.dcvb_cpp_api }}utility/image-processor.html#converttobinarylocal) of `CImageProcessor` class now support color, binary and grayscale images as input.

### Improved

- Improved license binding stability on macOS devices.

### Removed

- Removed `DataMatrixModuleIsotropic` parameter – use [`BarcodeZoneWidthToHeightRatioRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-width-to-height-ratio-range-array.html) instead.

- Removed `MinRatioOfBarcodeZoneWidthToHeight` parameter – use [`BarcodeZoneWidthToHeightRatioRangeArray`]({{ site.dcvb_parameters_reference }}barcode-format-specification/barcode-zone-width-to-height-ratio-range-array.html) instead.

### Fixed

- Fixed incorrect coordinate in barcode result when using neural network models with a specified region.

- Fixed crash and hang issues that could occur in certain scenarios.

- Fixed various minor bugs and improved overall stability.

## 11.2.5000 (12/16/2025)

This release includes security maintenance updates to ensure continued protection of the product.
Expand Down
1 change: 1 addition & 0 deletions programming/cplusplus/release-notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ needAutoGenerateSidebar: false

# Release Notes - C++ Edition

- [11.4.1000 (02/05/2026)]({{ site.dbr_cpp_release_notes_v11 }}cpp-11.html#1141000-02052026)
- [11.2.5000 (12/16/2025)]({{ site.dbr_cpp_release_notes_v11 }}cpp-11.html#1125000-12162025)
- [11.2.1000 (10/14/2025)]({{ site.dbr_cpp_release_notes_v11 }}cpp-11.html#1121000-10142025)
- [11.0.6000 (08/06/2025)]({{ site.dbr_cpp_release_notes_v11 }}cpp-11.html#1106000-08062025)
Expand Down
Loading