From ced5cea77aaa8578f5cff815bf77c4fb268edb8a Mon Sep 17 00:00:00 2001 From: DMGithubPublisher Date: Tue, 14 Oct 2025 16:43:21 +0800 Subject: [PATCH] update to internal commit a5c16df6 --- .../programming-java.html | 4 +- .../programming-python.html | 1 + .../sidelist-parameter-reference.html | 302 ------------------ .../sidelist-parameters-organization.html | 6 +- .../auxiliary-methods.md | 58 +++- .../capture-vision-router.md | 8 +- .../capture-vision-router/settings.md | 26 +- programming/cplusplus/index.md | 3 + programming/cplusplus/release-notes/cpp-3.md | 60 ++++ programming/cplusplus/release-notes/index.md | 1 + .../cplusplus/user-guide/document-scanner.md | 2 +- .../cplusplus/user-guide/mrz-scanner.md | 2 +- .../auxiliary-methods.md | 62 +++- .../capture-vision-router.md | 6 +- .../capture-vision-router/settings.md | 21 ++ programming/dotnet/index.md | 3 + programming/dotnet/release-notes/dotnet-3.md | 57 ++++ programming/dotnet/release-notes/index.md | 1 + .../auxiliary-methods.md | 84 +++++ .../capture-vision-router.md | 12 + .../capture-vision-router/settings.md | 20 ++ programming/java/index.md | 3 + programming/java/release-notes/index.md | 5 +- programming/java/release-notes/java-3.md | 57 ++++ .../auxiliary-methods.md | 85 +++++ .../capture-vision-router.md | 12 + .../capture-vision-router/settings.md | 26 ++ programming/python/index.md | 3 + programming/python/release-notes/index.md | 1 + programming/python/release-notes/python-3.md | 57 ++++ 30 files changed, 657 insertions(+), 331 deletions(-) delete mode 100644 _includes/sidelist-programming/sidelist-parameter-reference.html create mode 100644 programming/java/api-reference/capture-vision-router/auxiliary-methods.md create mode 100644 programming/python/api-reference/capture-vision-router/auxiliary-methods.md diff --git a/_includes/sidelist-programming/programming-java.html b/_includes/sidelist-programming/programming-java.html index b6e5245..aa0589f 100644 --- a/_includes/sidelist-programming/programming-java.html +++ b/_includes/sidelist-programming/programming-java.html @@ -10,6 +10,8 @@
  • Single-File Processing
  • Multiple-File Processing
  • Settings
  • +
  • Intermediate Result
  • +
  • Buffered Items
  • Auxiliary Methods
  • @@ -17,7 +19,7 @@
  • Classes diff --git a/_includes/sidelist-programming/sidelist-parameter-reference.html b/_includes/sidelist-programming/sidelist-parameter-reference.html deleted file mode 100644 index 714d55c..0000000 --- a/_includes/sidelist-programming/sidelist-parameter-reference.html +++ /dev/null @@ -1,302 +0,0 @@ -
  • Parameter Reference - -
  • \ No newline at end of file diff --git a/_includes/sidelist-programming/sidelist-parameters-organization.html b/_includes/sidelist-programming/sidelist-parameters-organization.html index e9370be..762ef61 100644 --- a/_includes/sidelist-programming/sidelist-parameters-organization.html +++ b/_includes/sidelist-programming/sidelist-parameters-organization.html @@ -181,6 +181,7 @@
  • LocalizeTextLinesStage Object
  • @@ -438,7 +439,9 @@
  • EnableAddOnCode
  • EnableDataMatrixECC000-140
  • EnableQRCodeModel1
  • +
  • ExpectedBarcodesCount
  • FindUnevenModuleBarcode
  • +
  • HasVerticalQuietZone
  • HeadModuleRatio
  • IncludeImpliedAI01
  • IncludeTrailingCheckDigit
  • @@ -497,7 +500,8 @@
  • Global Parameter
  • SemanticProcessing Object diff --git a/programming/cplusplus/api-reference/capture-vision-router/auxiliary-methods.md b/programming/cplusplus/api-reference/capture-vision-router/auxiliary-methods.md index e2fc44f..595be14 100644 --- a/programming/cplusplus/api-reference/capture-vision-router/auxiliary-methods.md +++ b/programming/cplusplus/api-reference/capture-vision-router/auxiliary-methods.md @@ -12,31 +12,36 @@ breadcrumbText: CVR C++ Auxiliary Methods | API Name | Description | | ------------------------------------------------------------- | --------------------------------------------------------- | -| [`FreeString`](#freestring) | Frees the memory allocated for a string. | -| [`AppendModelBuffer`](#appendmodelbuffer) | Appends a model to the model buffer. | +| [`SetGlobalIntraOpNumThreads`](#setglobalintraopnumthreads) | Sets the global number of threads used internally for model execution. | +| [`AppendDLModelBuffer`](#appenddlmodelbuffer) | Appends a deep learning model to the memory buffer. | +| [`ClearDLModelBuffers`](#cleardlmodelbuffers) | Clears all deep learning models from buffer to free up memory. | +| [`FreeString`](#freestring) | Deprecated. Will be removed in future versions. Use [`CoreModule::FreeBytes`]({{ site.dcvb_cpp_api }}core/basic-structures/core-module.html#freebytes) instead.| +| [`AppendModelBuffer`](#appendmodelbuffer) | Deprecated. Will be removed in future versions. Use `AppendDLModelBuffer` instead. | -## FreeString -Frees the memory allocated for a string. The function is *deprecated*, use [`CoreModule::FreeBytes`]({{ site.dcvb_cpp_api }}core/basic-structures/core-module.html#freebytes) instead. +## SetGlobalIntraOpNumThreads + +Sets the global number of threads used internally for model execution. ```cpp -static void FreeString(char* content); +static void SetGlobalIntraOpNumThreads(int intraOpNumThreads = 0); ``` **Parameters** -`[in] content` The string whose memory needs to be freed. +`[in] intraOpNumThreads` Number of threads used internally for model execution. Valid range: [0, 256]. +If the value is outside the range [0, 256], it will be treated as 0 (default). -**Return Value** +**Remarks** -This function does not return a value. It simply frees the memory allocated for the input string. +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. -## AppendModelBuffer +## AppendDLModelBuffer -Appends a model to the model buffer. +Appends a deep learning model to the memory buffer. ```cpp -static int AppendModelBuffer(const char* modelName, const unsigned char* modelBytes, int modelBytesLength, int maxModelInstances); +static int AppendDLModelBuffer(const char* modelName, const unsigned char* modelBytes, int modelBytesLength, int maxModelInstances); ``` **Parameters** @@ -52,3 +57,34 @@ static int AppendModelBuffer(const char* modelName, const unsigned char* modelBy **Return Value** Returns 0 if succeeds, nonzero otherwise. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## ClearDLModelBuffers + +Clears all deep learning models from buffer to free up memory. + +```cpp +static void ClearDLModelBuffers(); +``` + +**Remarks** + +- After calling this function, all `CaptureVisionRouter` instances created before the function call will not be able to use model-related features. + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## FreeString + +Deprecated. Will be removed in future versions. Use [`CoreModule::FreeBytes`]({{ site.dcvb_cpp_api }}core/basic-structures/core-module.html#freebytes) instead. + + +## AppendModelBuffer + +Deprecated. Will be removed in future versions. Use `AppendDLModelBuffer` instead. + +**Remarks** + +- Deprecated in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md b/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md index e8879ea..0d83a13 100644 --- a/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/cplusplus/api-reference/capture-vision-router/capture-vision-router.md @@ -68,6 +68,7 @@ class CCaptureVisionRouter | [`ResetSettings`](settings.md#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](settings.md#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](settings.md#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | +| [`SwitchCapturingTemplate`](settings.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Intermediate Result @@ -87,5 +88,8 @@ The following method returns an `CIntermediateResultManager` object which allows | API Name | Description | | --------------------------------------------- | --------------------------------------------------------- | -| [`FreeString`](auxiliary-methods.md#freestring) | Frees the memory allocated for a string. The function is *deprecated*, use [`CoreModule::FreeBytes`]({{ site.dcvb_cpp_api }}core/basic-structures/core-module.html#freebytes) instead. | -| [`AppendModelBuffer`](auxiliary-methods.md#appendmodelbuffer) | Appends a model to the model buffer. | +| [`FreeString`](auxiliary-methods.md#freestring) | The function is *deprecated*, use [`CoreModule::FreeBytes`]({{ site.dcvb_cpp_api }}core/basic-structures/core-module.html#freebytes) instead. | +| [`SetGlobalIntraOpNumThreads`](auxiliary-methods.md#setglobalintraopnumthreads) | Sets the global number of threads used internally for model execution. | +| [`AppendDLModelBuffer`](auxiliary-methods.md#appenddlmodelbuffer) | Appends a deep learning model to the memory buffer. | +| [`ClearDLModelBuffers`](auxiliary-methods.md#cleardlmodelbuffers) | Clears all deep learning models from buffer to free up memory. | +| [`AppendModelBuffer`](auxiliary-methods.md#appendmodelbuffer) | Deprecated. Will be removed in future versions. Use `AppendDLModelBuffer` instead. | diff --git a/programming/cplusplus/api-reference/capture-vision-router/settings.md b/programming/cplusplus/api-reference/capture-vision-router/settings.md index c2622fe..b76f86e 100644 --- a/programming/cplusplus/api-reference/capture-vision-router/settings.md +++ b/programming/cplusplus/api-reference/capture-vision-router/settings.md @@ -5,7 +5,6 @@ description: This page introduces APIs related to the Settings of the CCaptureVi keywords: capture vision, router, settings, api reference, c++ needAutoGenerateSidebar: true needGenerateH3Content: false -breadcrumbText: CVR C++ Settings --- # Settings @@ -21,6 +20,7 @@ breadcrumbText: CVR C++ Settings | [`ResetSettings`](#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | +| [`SwitchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## InitSettings @@ -268,3 +268,27 @@ int GetParameterTemplateName(const int index, char nameBuffer[], int nameBufferL **Return value** Returns an error code. Zero indicates success. + +## SwitchCapturingTemplate + +Switches the capturing template during the image processing workflow. + +```cpp +int SwitchCapturingTemplate(const char* templateName, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); +``` + +**Parameters** + +`[in] templateName` The name of the new capturing template to apply. + +`[in] errorMsgBuffer` A buffer for error messages. + +`[in] errorMsgBufferLen` The length of the error message buffer. + +**Return value** + +Returns an error code. Zero indicates success. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/cplusplus/index.md b/programming/cplusplus/index.md index f76a886..6bc6d06 100644 --- a/programming/cplusplus/index.md +++ b/programming/cplusplus/index.md @@ -55,6 +55,9 @@ For embedded or ARM-based platforms, we recommend using a device with performanc - 4 GB RAM - Linux-based OS (e.g., Raspberry Pi OS, Ubuntu Server) +> [!NOTE] +> Other architectures and operating systems, such as ESP32, MIPS, FreeRTOS, and Micrium uC/OS, are not supported. + ## API Reference For an overview of the APIs, see the [API Reference]({{ site.dcvb_cpp_api }}). diff --git a/programming/cplusplus/release-notes/cpp-3.md b/programming/cplusplus/release-notes/cpp-3.md index 0309bac..de646fa 100644 --- a/programming/cplusplus/release-notes/cpp-3.md +++ b/programming/cplusplus/release-notes/cpp-3.md @@ -8,6 +8,66 @@ needGenerateH3Content: false # Release Notes for C++ Edition - 3.x +## 3.2.1000 (10/14/2025) + +🎉 **Milestone Release** - This version introduces groundbreaking AI-powered enhancements that significantly improve accuracy and performance across all barcode and MRZ processing scenarios. + +### ✨ Key Highlights + +**AI-Powered Barcode 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` parameter enables on-demand model loading and precise selection for specific barcode scenarios + +**Precision Control** +- ⚙️ **Granular Deblur Methods**: Fine-tuned `DM_DEEP_ANALYSIS` with specialized method control - `OneDGeneral`, `TwoDGeneral`, and `EAN13Enhanced` for targeted optimization +- 🎯 **Smart Barcode Counting**: New `ExpectedBarcodesCount` parameter enables **format-specific quantity control** and **early termination optimization** for known-quantity scenarios +- 🔍 **Advanced Region Detection**: New `RPM_GRAY_CONSISTENCY` mode enables precise region detection 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` parameter provides unprecedented control over text line detection algorithms + + +**Smart Document Capture** +- 🎥 **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 + + +### 💡 What This Means for You + +**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 + +**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 + +**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 + +**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 + + +### Changed + + - Updated the default value of parameter [`MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) from 4 to 0 (auto-detection). + - Updated the default value of parameter [`IncludeTrailingCheckDigit`]({{ site.dcvb_parameters_reference }}barcode-format-specification/include-trailing-check-digit.html) from 1 to 0. + - Deprecated argument `DeblurModelNameArray` of parameter [`DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html), use `ModelNameArray` instead. + - Deprecated method `AppendModelBuffer` of class [`CaptureVisionRouter`]({{ site.dcvb_cpp_api }}capture-vision-router/capture-vision-router.html), use [`AppendDLModelBuffer`]({{ site.dcvb_cpp_api }}capture-vision-router/auxiliary-methods.html#appenddlmodelbuffer) instead. + + + ## 3.0.6000 (08/06/2025) ### Changed diff --git a/programming/cplusplus/release-notes/index.md b/programming/cplusplus/release-notes/index.md index 0d5628d..f71600d 100644 --- a/programming/cplusplus/release-notes/index.md +++ b/programming/cplusplus/release-notes/index.md @@ -9,6 +9,7 @@ noTitleIndex: true # Release Notes - Dynamsoft Capture Vision CPP +- [3.2.1000 (10/14/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#321000-10142025) - [3.0.6000 (08/06/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#306000-08062025) - [3.0.4000 (07/15/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#304000-07152025) - [3.0.3000 (05/13/2025)]({{ site.dcvb_cpp_release_notes_v3 }}cpp-3.html#303000-05132025) diff --git a/programming/cplusplus/user-guide/document-scanner.md b/programming/cplusplus/user-guide/document-scanner.md index 4ef0ca1..b197f30 100644 --- a/programming/cplusplus/user-guide/document-scanner.md +++ b/programming/cplusplus/user-guide/document-scanner.md @@ -33,7 +33,7 @@ To find out whether your environment is supported, please read the [System Requi ## Installation -If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. +If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. > [!IMPORTANT] > For this tutorial, we unpack it to a pseudo directory `[INSTALLATION FOLDER]`, change it to your unpacking path for the following content. diff --git a/programming/cplusplus/user-guide/mrz-scanner.md b/programming/cplusplus/user-guide/mrz-scanner.md index 1bd636a..db22135 100644 --- a/programming/cplusplus/user-guide/mrz-scanner.md +++ b/programming/cplusplus/user-guide/mrz-scanner.md @@ -39,7 +39,7 @@ To find out whether your environment is supported, please read the [System Requi ## Installation -If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. +If you haven't downloaded the SDK yet, download the `C/C++ Package` now and unpack the package into a directory of your choice. > [!IMPORTANT] > For this tutorial, we unpack it to a pseudo directory `[INSTALLATION FOLDER]`, change it to your unpacking path for the following content. diff --git a/programming/dotnet/api-reference/capture-vision-router/auxiliary-methods.md b/programming/dotnet/api-reference/capture-vision-router/auxiliary-methods.md index 1e7ff3e..9dc2649 100644 --- a/programming/dotnet/api-reference/capture-vision-router/auxiliary-methods.md +++ b/programming/dotnet/api-reference/capture-vision-router/auxiliary-methods.md @@ -11,16 +11,36 @@ needGenerateH3Content: false | Method | Description | | ----------------------------------------------------------- | --------------------------------------------------------- | -| [`AppendModelBuffer`](#appendmodelbuffer) | Appends a model to the model buffer. | -| [`GetBufferedItemsManager`](#getbuffereditemsmanager) | Gets the manager instance of buffered items. | -| [`GetIntermediateResultManager`](#getintermediateresultmanager) | Returns an `IntermediateResultManager` object. | +| [`SetGlobalIntraOpNumThreads`](#setglobalintraopnumthreads) | Sets the global number of threads used internally for model execution. | +| [`AppendDLModelBuffer`](#appenddlmodelbuffer) | Appends a deep learning model to the memory buffer. | +| [`ClearDLModelBuffers`](#cleardlmodelbuffers) | Clears all deep learning models from buffer to free up memory. | +| [`GetBufferedItemsManager`](#getbuffereditemsmanager) | Gets the manager instance of buffered items. | +| [`GetIntermediateResultManager`](#getintermediateresultmanager) | Returns an `IntermediateResultManager` object. | +| [`AppendModelBuffer`](#appendmodelbuffer) | Deprecated. Will be removed in future versions. Use `AppendDLModelBuffer` instead. | -## AppendModelBuffer +## SetGlobalIntraOpNumThreads -Appends a model to the model buffer. +Sets the global number of threads used internally for model execution. ```csharp -public static int AppendModelBuffer(string modelName, byte[] modelBytes, int maxModelInstances) +public static void SetGlobalIntraOpNumThreads(int intraOpNumThreads = 0) +``` + +**Parameters** + +`[in] intraOpNumThreads` Number of threads used internally for model execution. Valid range: [0, 256]. +If the value is outside the range [0, 256], it will be treated as 0 (default). + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## AppendDLModelBuffer + +Appends a deep learning model to the memory buffer. + +```csharp +public static int AppendDLModelBuffer(string modelName, byte[] modelBytes, int maxModelInstances) ``` **Parameters** @@ -35,12 +55,30 @@ public static int AppendModelBuffer(string modelName, byte[] modelBytes, int max Returns 0 if succeeds, nonzero otherwise. +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## ClearDLModelBuffers + +Clears all deep learning models from buffer to free up memory. + +```csharp +public static void ClearDLModelBuffers() +``` + +**Remarks** + +- After calling this function, all `CaptureVisionRouter` instances created before the function call will not be able to use model-related features. + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + ## GetBufferedItemsManager Gets the manager instance of buffered items. ```csharp -BufferedItemsManager GetBufferedItemsManager(); +BufferedItemsManager GetBufferedItemsManager() ``` **Return Value** @@ -56,7 +94,7 @@ When the maximum number of buffered items is set to greater than 0, item bufferi Returns an [`IntermediateResultManager`](auxiliary-classes/intermediate-result-manager.md) object. ```csharp -IntermediateResultManager* GetIntermediateResultManager(); +IntermediateResultManager GetIntermediateResultManager() ``` **Parameters** @@ -66,3 +104,11 @@ None. **Return Value** Returns the [`IntermediateResultManager`](auxiliary-classes/intermediate-result-manager.md) object. + +## AppendModelBuffer + +Deprecated. Will be removed in future versions. Use `AppendDLModelBuffer` instead. + +**Remarks** + +- Deprecated in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md b/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md index 0236f5a..cf01349 100644 --- a/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/dotnet/api-reference/capture-vision-router/capture-vision-router.md @@ -67,11 +67,15 @@ public class CaptureVisionRouter : IDisposable | [`ResetSettings`](settings.md#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](settings.md#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](settings.md#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | +| [`SwitchCapturingTemplate`](settings.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Auxiliary Methods | Method | Description | | --------------------------------------------- | --------------------------------------------------------- | -| [`AppendModelBuffer`](auxiliary-methods.md#appendmodelbuffer) | Appends a model to the model buffer. | | [`GetBufferedItemsManager`](auxiliary-methods.md#getbuffereditemsmanager) | Gets the manager instance of buffered items. | | [`GetIntermediateResultManager`](auxiliary-methods.md#getintermediateresultmanager) | Returns an `IntermediateResultManager` object. | +| [`SetGlobalIntraOpNumThreads`](auxiliary-methods.md#setglobalintraopnumthreads) | Sets the global number of threads used internally for model execution. | +| [`AppendDLModelBuffer`](auxiliary-methods.md#appenddlmodelbuffer) | Appends a deep learning model to the memory buffer. | +| [`ClearDLModelBuffers`](auxiliary-methods.md#cleardlmodelbuffers) | Clears all deep learning models from buffer to free up memory. | +| [`AppendModelBuffer`](auxiliary-methods.md#appendmodelbuffer) | Deprecated. Will be removed in future versions. Use `AppendDLModelBuffer` instead. | \ No newline at end of file diff --git a/programming/dotnet/api-reference/capture-vision-router/settings.md b/programming/dotnet/api-reference/capture-vision-router/settings.md index 6b4f87c..372c545 100644 --- a/programming/dotnet/api-reference/capture-vision-router/settings.md +++ b/programming/dotnet/api-reference/capture-vision-router/settings.md @@ -20,6 +20,7 @@ needGenerateH3Content: false | [`ResetSettings`](#resetsettings) | Resets all templates to factory settings. | | [`GetParameterTemplateCount`](#getparametertemplatecount) | Retrieves the total number of available parameter templates. | | [`GetParameterTemplateName`](#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | +| [`SwitchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## InitSettings @@ -257,3 +258,23 @@ public int GetParameterTemplateName(int index, out string nameBuffer) **Return value** Returns an error code. Zero indicates success. + +## SwitchCapturingTemplate + +Switches the capturing template during the image processing workflow. + +```csharp +public int SwitchCapturingTemplate(string templateName) +``` + +**Parameters** + +`[in] templateName` The name of the new capturing template to apply. + +**Return value** + +Returns an error code. Zero indicates success. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/dotnet/index.md b/programming/dotnet/index.md index 2a828a6..023e43e 100644 --- a/programming/dotnet/index.md +++ b/programming/dotnet/index.md @@ -47,6 +47,9 @@ The best way to begin with Dynamsoft Capture Vision .NET Edition is to follow th - .NET Framework 3.5 and above - .NET 6, 7, 8 +> [!NOTE] +> Other architectures and operating systems, such as ESP32, MIPS, FreeRTOS, and Micrium uC/OS, are not supported. + ## API Reference For an overview of the APIs, see the [API Reference]({{ site.dcvb_dotnet_api }}). diff --git a/programming/dotnet/release-notes/dotnet-3.md b/programming/dotnet/release-notes/dotnet-3.md index e963f56..9ca378b 100644 --- a/programming/dotnet/release-notes/dotnet-3.md +++ b/programming/dotnet/release-notes/dotnet-3.md @@ -8,6 +8,63 @@ needGenerateH3Content: false # Release Notes for .NET Edition - 3.x +## 3.2.1000 (10/14/2025) + +🎉 **Milestone Release** - This version introduces groundbreaking AI-powered enhancements that significantly improve accuracy and performance across all barcode and MRZ processing scenarios. + +### ✨ Key Highlights + +**AI-Powered Barcode 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` parameter enables on-demand model loading and precise selection for specific barcode scenarios + +**Precision Control** +- ⚙️ **Granular Deblur Methods**: Fine-tuned `DM_DEEP_ANALYSIS` with specialized method control - `OneDGeneral`, `TwoDGeneral`, and `EAN13Enhanced` for targeted optimization +- 🎯 **Smart Barcode Counting**: New `ExpectedBarcodesCount` parameter enables **format-specific quantity control** and **early termination optimization** for known-quantity scenarios +- 🔍 **Advanced Region Detection**: New `RPM_GRAY_CONSISTENCY` mode enables precise region detection 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` parameter provides unprecedented control over text line detection algorithms + + +**Smart Document Capture** +- 🎥 **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 + + +### 💡 What This Means for You + +**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 + +**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 + +**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 + +**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 + +### Changed + + - Updated the default value of parameter [`MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) from 4 to 0 (auto-detection). + - Updated the default value of parameter [`IncludeTrailingCheckDigit`]({{ site.dcvb_parameters_reference }}barcode-format-specification/include-trailing-check-digit.html) from 1 to 0. + - Deprecated argument `DeblurModelNameArray` of parameter [`DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html), use `ModelNameArray` instead. + - Deprecated method `AppendModelBuffer` of class [`CaptureVisionRouter`]({{ site.dcvb_dotnet_api }}capture-vision-router/capture-vision-router.html), use [`AppendDLModelBuffer`]({{ site.dcvb_dotnet_api }}capture-vision-router/auxiliary-methods.html#appenddlmodelbuffer) instead. + ## 3.0.6000 (08/06/2025) ### Changed diff --git a/programming/dotnet/release-notes/index.md b/programming/dotnet/release-notes/index.md index 093705b..182a426 100644 --- a/programming/dotnet/release-notes/index.md +++ b/programming/dotnet/release-notes/index.md @@ -9,6 +9,7 @@ noTitleIndex: true # Module Release Notes - Dynamsoft Capture Vision .NET Edition +- [3.2.1000 (10/14/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#321000-10142025) - [3.0.6000 (08/06/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#306000-08062025) - [3.0.4000 (07/15/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#304000-07152025) - [3.0.3000 (05/13/2025)]({{ site.dcvb_dotnet_release_notes_v3 }}dotnet-3.html#303000-05132025) diff --git a/programming/java/api-reference/capture-vision-router/auxiliary-methods.md b/programming/java/api-reference/capture-vision-router/auxiliary-methods.md new file mode 100644 index 0000000..49307ee --- /dev/null +++ b/programming/java/api-reference/capture-vision-router/auxiliary-methods.md @@ -0,0 +1,84 @@ +--- +layout: default-layout +title: CaptureVisionRouter Auxiliary Methods - Dynamsoft Capture Vision Java Edition API +description: This page introduces auxiliary methods of the CaptureVisionRouter class of the Dynamsoft Capture Vision Java Edition. +keywords: capture vision, auxiliary, instance, api reference, Java +needAutoGenerateSidebar: true +needGenerateH3Content: false +--- + +# Auxiliary Methods - CaptureVisionRouter Class + +| Method | Description | +| ----------------------------------------------------------- | --------------------------------------------------------- | +| [`setGlobalIntraOpNumThreads`](#setglobalintraopnumthreads) | Sets the global number of threads used internally for model execution. | +| [`appendDLModelBuffer`](#appenddlmodelbuffer) | Appends a deep learning model to the memory buffer. | +| [`clearDLModelBuffers`](#cleardlmodelbuffers) | Clears all deep learning models from buffer to free up memory. | +| [`appendModelBuffer`](#appendmodelbuffer) | Deprecated. Will be removed in future versions. Use `appendDLModelBuffer` instead. | + + +## setGlobalIntraOpNumThreads + +Sets the global number of threads used internally for model execution. + +```java +public static void setGlobalIntraOpNumThreads(int size) +``` + +**Parameters** + +`[in] size` Number of threads used internally for model execution. Valid range: [0, 256]. +If the value is outside the range [0, 256], it will be treated as 0 (default). + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## appendDLModelBuffer + +Appends a deep learning model to the memory buffer. + +```java +public static void appendDLModelBuffer(String modelName, byte[] modelBytes, int maxModelInstances) throws CaptureVisionException +``` + +**Parameters** + +`[in] modelName` The name of the model. + +`[in] modelBytes` The bytes of the model. + +`[in] maxModelInstances` The max instances created for the model. + +**Exceptions** + +A [`CaptureVisionException`]({{ site.dcvb_java_api }}capture-vision-router/capture-vision-exception.html) is thrown when: + +- The model buffer is invalid. +- Failed to allocate memory for the model. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## clearDLModelBuffers + +Clears all deep learning models from buffer to free up memory. + +```java +public static void clearDLModelBuffers() +``` + +**Remarks** + +- After calling this function, all `CaptureVisionRouter` instances created before the function call will not be able to use model-related features. + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## appendModelBuffer + +Deprecated. Will be removed in future versions. Use `appendDLModelBuffer` instead. + +**Remarks** + +- Deprecated in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/java/api-reference/capture-vision-router/capture-vision-router.md b/programming/java/api-reference/capture-vision-router/capture-vision-router.md index ed27543..4f71e4c 100644 --- a/programming/java/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/java/api-reference/capture-vision-router/capture-vision-router.md @@ -60,6 +60,9 @@ class CaptureVisionRouter | [`getSimplifiedSettings`](settings.md#getsimplifiedsettings) | Retrieves a `SimplifiedCaptureVisionSettings` object for a specific `CaptureVisionTemplate`. | | [`updateSettings`](settings.md#updatesettings) | Updates a `CaptureVisionTemplate` with `SimplifiedCaptureVisionSettings` object. | | [`resetSettings`](settings.md#resetsettings) | Resets all templates to factory settings. | +| [`getParameterTemplateCount`](settings.md#getparametertemplatecount) | Retrieves the total number of available parameter templates. | +| [`getParameterTemplateName`](settings.md#getparametertemplatename) | Retrieves the name of a specific parameter template by its index. | +| [`switchCapturingTemplate`](settings.md#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## Buffered Items Methods @@ -74,3 +77,12 @@ The following method returns an `IntermediateResultManager` object which allows | API Name | Description | | ----------------------------------------------------------------------------------- | ----------------------------------------------- | | [`getIntermediateResultManager`](intermediate-result.md#getintermediateresultmanager) | Returns an `IntermediateResultManager` object. | + +## Auxiliary Methods + +| Method | Description | +| --------------------------------------------- | --------------------------------------------------------- | +| [`setGlobalIntraOpNumThreads`](auxiliary-methods.md#setglobalintraopnumthreads) | Sets the global number of threads used internally for model execution. | +| [`appendDLModelBuffer`](auxiliary-methods.md#appenddlmodelbuffer) | Appends a deep learning model to the memory buffer. | +| [`clearDLModelBuffers`](auxiliary-methods.md#cleardlmodelbuffers) | Clears all deep learning models from buffer to free up memory. | +| [`appendModelBuffer`](auxiliary-methods.md#appendmodelbuffer) | Deprecated. Will be removed in future versions. Use `appendDLModelBuffer` instead. | diff --git a/programming/java/api-reference/capture-vision-router/settings.md b/programming/java/api-reference/capture-vision-router/settings.md index 4176029..6b8400f 100644 --- a/programming/java/api-reference/capture-vision-router/settings.md +++ b/programming/java/api-reference/capture-vision-router/settings.md @@ -20,6 +20,7 @@ needGenerateH3Content: false | [`resetSettings`](#resetsettings) | Resets all templates to factory settings. | | [`getParameterTemplateCount`](#getparametertemplatecount) | Gets the total number of available parameter templates. | | [`getParameterTemplateName`](#getparametertemplatename) | Gets the name of a specific parameter template by its index. | +| [`switchCapturingTemplate`](#switchcapturingtemplate) | Switches the capturing template during the image processing workflow. | ## initSettings @@ -229,3 +230,22 @@ public String getParameterTemplateName(int index) Returns a string containing the name of the parameter template. +## switchCapturingTemplate + +Switches the capturing template during the image processing workflow. + +```java +public void switchCapturingTemplate(String templateName) throws CaptureVisionException +``` + +**Parameters** + +`templateName` The name of the new capturing template to apply. + +**Exceptions** + +[`CaptureVisionException`]({{ site.dcvb_java_api }}capture-vision-router/capture-vision-exception.html) + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/java/index.md b/programming/java/index.md index 28dbf52..b74b2ba 100644 --- a/programming/java/index.md +++ b/programming/java/index.md @@ -35,6 +35,9 @@ For embedded or ARM-based platforms, we recommend using a device with performanc - 4 GB RAM - Linux-based OS (e.g., Raspberry Pi OS, Ubuntu Server) +> [!NOTE] +> Other architectures and operating systems, such as ESP32, MIPS, FreeRTOS, and Micrium uC/OS, are not supported. + ## API Reference For an overview of the APIs, see the [API Reference]({{ site.dcvb_java_api }}). diff --git a/programming/java/release-notes/index.md b/programming/java/release-notes/index.md index f014435..6ca99dd 100644 --- a/programming/java/release-notes/index.md +++ b/programming/java/release-notes/index.md @@ -9,5 +9,6 @@ noTitleIndex: true # Module Release Notes - Dynamsoft Capture Vision Java Edition -- [3.0.6100 (08/19/2025)](java-3.md#306100-08192025) -- [3.0.6000 (08/06/2025)](java-3.md#306000-08062025) +- [3.2.1000 (10/14/2025)]({{ site.dcvb_java_release_notes_v3 }}java-3.html#321000-10142025) +- [3.0.6100 (08/19/2025)]({{ site.dcvb_java_release_notes_v3 }}java-3.html#306100-08192025) +- [3.0.6000 (08/06/2025)]({{ site.dcvb_java_release_notes_v3 }}java-3.html#306000-08062025) diff --git a/programming/java/release-notes/java-3.md b/programming/java/release-notes/java-3.md index 2df14f0..846ebca 100644 --- a/programming/java/release-notes/java-3.md +++ b/programming/java/release-notes/java-3.md @@ -8,6 +8,63 @@ needGenerateH3Content: false # Release Notes for Java Edition - 3.x +## 3.2.1000 (10/14/2025) + +🎉 **Milestone Release** - This version introduces groundbreaking AI-powered enhancements that significantly improve accuracy and performance across all barcode and MRZ processing scenarios. + +### ✨ Key Highlights + +**AI-Powered Barcode 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` parameter enables on-demand model loading and precise selection for specific barcode scenarios + +**Precision Control** +- ⚙️ **Granular Deblur Methods**: Fine-tuned `DM_DEEP_ANALYSIS` with specialized method control - `OneDGeneral`, `TwoDGeneral`, and `EAN13Enhanced` for targeted optimization +- 🎯 **Smart Barcode Counting**: New `ExpectedBarcodesCount` parameter enables **format-specific quantity control** and **early termination optimization** for known-quantity scenarios +- 🔍 **Advanced Region Detection**: New `RPM_GRAY_CONSISTENCY` mode enables precise region detection 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` parameter provides unprecedented control over text line detection algorithms + + +**Smart Document Capture** +- 🎥 **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 + + +### 💡 What This Means for You + +**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 + +**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 + +**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 + +**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 + +### Changed + +- Updated the default value of parameter [`MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) from 4 to 0 (auto-detection). +- Updated the default value of parameter [`IncludeTrailingCheckDigit`]({{ site.dcvb_parameters_reference }}barcode-format-specification/include-trailing-check-digit.html) from 1 to 0. +- Deprecated argument `DeblurModelNameArray` of parameter [`DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html), use `ModelNameArray` instead. +- Deprecated method `appendModelBuffer` of class [`CaptureVisionRouter`]({{ site.dcvb_java_api }}capture-vision-router/capture-vision-router.html), use [`appendDLModelBuffer`]({{ site.dcvb_java_api }}capture-vision-router/auxiliary-methods.html#appenddlmodelbuffer) instead. + ## 3.0.6100 (08/19/2025) ### Fixed diff --git a/programming/python/api-reference/capture-vision-router/auxiliary-methods.md b/programming/python/api-reference/capture-vision-router/auxiliary-methods.md new file mode 100644 index 0000000..9b5c411 --- /dev/null +++ b/programming/python/api-reference/capture-vision-router/auxiliary-methods.md @@ -0,0 +1,85 @@ +--- +layout: default-layout +title: CaptureVisionRouter Auxiliary Methods - Dynamsoft Capture Vision Python Edition API +description: This page introduces auxiliary methods of the CaptureVisionRouter class of the Dynamsoft Capture Vision Python Edition. +keywords: capture vision, auxiliary, instance, api reference, Python +needAutoGenerateSidebar: true +needGenerateH3Content: false +--- + +# Auxiliary Methods - CaptureVisionRouter Class + +| Method | Description | +| ----------------------------------------------------------- | --------------------------------------------------------- | +| [`set_global_intra_op_num_threads`](#set_global_intra_op_num_threads) | Sets the global number of threads used internally for model execution. | +| [`append_dl_model_buffer`](#append_dl_model_buffer) | Appends a deep learning model to the memory buffer. | +| [`clear_dl_model_buffers`](#clear_dl_model_buffers) | Clears all deep learning models from buffer to free up memory. | +| [`append_model_buffer`](#append_model_buffer) | Deprecated. Will be removed in future versions. Use `append_dl_model_buffer` instead. | + +## set_global_intra_op_num_threads + +Sets the global number of threads used internally for model execution. + +```python +@staticmethod +def set_global_intra_op_num_threads(intra_op_num_threads: int) -> None +``` + +**Parameters** + +`intra_op_num_threads` (*int*): Number of threads used internally for model execution. Valid range: [0, 256]. +If the value is outside the range [0, 256], it will be treated as 0 (default). + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## append_dl_model_buffer + +Appends a deep learning model to the memory buffer. + +```python +@staticmethod +def append_dl_model_buffer(model_name: str, model_buffer: bytes, max_model_instances: int) -> Tuple[int, str] +``` + +**Parameters** + +`model_name` (*str*): The name of the model. + +`model_buffer` (*bytes*): The bytes of the model. + +`max_model_instances` (*int*): The max instances created for the model. + +**Return Value** + +A tuple containing following elements: +- `error_code` (*int*): The error code indicating the status of the operation. +- `error_message` (*str*): A descriptive message explaining the error. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## clear_dl_model_buffers + +Clears all deep learning models from buffer to free up memory. + +```python +@staticmethod +def clear_dl_model_buffers() -> None +``` + +**Remarks** + +- After calling this function, all `CaptureVisionRouter` instances created before the function call will not be able to use model-related features. + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +## append_model_buffer + +Deprecated. Will be removed in future versions. Use `append_dl_model_buffer` instead. + +**Remarks** + +- Deprecated in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. diff --git a/programming/python/api-reference/capture-vision-router/capture-vision-router.md b/programming/python/api-reference/capture-vision-router/capture-vision-router.md index fc3ac88..e159420 100644 --- a/programming/python/api-reference/capture-vision-router/capture-vision-router.md +++ b/programming/python/api-reference/capture-vision-router/capture-vision-router.md @@ -60,6 +60,9 @@ class CaptureVisionRouter | [`get_simplified_settings`](settings.md#get_simplified_settings) | Retrieves a `SimplifiedCaptureVisionSettings` object for a specific `CaptureVisionTemplate`. | | [`update_settings`](settings.md#update_settings) | Updates a `CaptureVisionTemplate` with `SimplifiedCaptureVisionSettings` object. | | [`reset_settings`](settings.md#reset_settings) | Resets all templates to factory settings. | +| [`get_parameter_template_count`](settings.md#get_parameter_template_count) | Retrieves the total number of available parameter templates. | +| [`get_parameter_template_name`](settings.md#get_parameter_template_name) | Retrieves the name of a specific parameter template by its index. | +| [`switch_capturing_template`](settings.md#switch_capturing_template) | Switches the capturing template during the image processing workflow. | ## Buffered Items Methods @@ -74,3 +77,12 @@ The following method returns an `IntermediateResultManager` object which allows | API Name | Description | | ----------------------------------------------------------------------------------- | ----------------------------------------------- | | [`get_intermediate_result_manager`](intermediate-result.md#get_intermediate_result_manager) | Returns an `IntermediateResultManager` object. | + +## Auxiliary Methods + +| Method | Description | +| --------------------------------------------- | --------------------------------------------------------- | +| [`set_global_intra_op_num_threads`](auxiliary-methods.md#set_global_intra_op_num_threads) | Sets the global number of threads used internally for model execution. | +| [`append_dl_model_buffer`](auxiliary-methods.md#append_dl_model_buffer) | Appends a deep learning model to the memory buffer. | +| [`clear_dl_model_buffers`](auxiliary-methods.md#clear_dl_model_buffers) | Clears all deep learning models from buffer to free up memory. | +| [`append_model_buffer`](auxiliary-methods.md#append_model_buffer) | Deprecated. Will be removed in future versions. Use `append_dl_model_buffer` instead. | diff --git a/programming/python/api-reference/capture-vision-router/settings.md b/programming/python/api-reference/capture-vision-router/settings.md index 6b61572..7eea84f 100644 --- a/programming/python/api-reference/capture-vision-router/settings.md +++ b/programming/python/api-reference/capture-vision-router/settings.md @@ -20,6 +20,7 @@ needGenerateH3Content: false | [`reset_settings`](#reset_settings) | Resets all templates to factory settings. | | [`get_parameter_template_count`](#get_parameter_template_count) | Gets the total number of available parameter templates. | | [`get_parameter_template_name`](#get_parameter_template_name) | Gets the name of a specific parameter template by its index. | +| [`switch_capturing_template`](#switch_capturing_template) | Switches the capturing template during the image processing workflow. | ## init_settings @@ -245,3 +246,28 @@ Returns a tuple containing following elements: - `error_code` <*int*>: The error code indicating the status of the operation. - `template_name` <*str*>: The name of the parameter template. +## switch_capturing_template + +Switches the capturing template during the image processing workflow. + +```python +def switch_capturing_template(self, template_name: str) -> Tuple[int, str]: +``` + +**Parameters** + +`template_name` The name of the new capturing template to apply. + +**Return Value** + +Returns a tuple containing following elements: +- `error_code` <*int*>: The error code indicating the status of the operation. +- `error_message` <*str*>: A descriptive message explaining the error. + +**Remarks** + +- Introduced in Dynamsoft Barcode Reader SDK version 11.2.1000 and Dynamsoft Capture Vision version 3.2.1000. + +**See Also** + +[EnumErrorCode]({{ site.dcvb_python_api }}core/enum-error-code.html) diff --git a/programming/python/index.md b/programming/python/index.md index bf45edd..05ad88f 100644 --- a/programming/python/index.md +++ b/programming/python/index.md @@ -41,6 +41,9 @@ For embedded or ARM-based platforms, we recommend using a device with performanc - 4 GB RAM - Linux-based OS (e.g., Raspberry Pi OS, Ubuntu Server) +> [!NOTE] +> Other architectures and operating systems, such as ESP32, MIPS, FreeRTOS, and Micrium uC/OS, are not supported. + ## Getting Started with DCV Python Edition The best way to begin with Dynamsoft Capture Vision Python Edition is to follow the guides for specific use cases. diff --git a/programming/python/release-notes/index.md b/programming/python/release-notes/index.md index da326ed..d1eba59 100644 --- a/programming/python/release-notes/index.md +++ b/programming/python/release-notes/index.md @@ -9,6 +9,7 @@ noTitleIndex: true # Module Release Notes - Dynamsoft Capture Vision Python Edition +- [3.2.1000 (10/14/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#321000-10142025) - [3.0.6000 (08/06/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#306000-08062025) - [3.0.4100 (07/16/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#304100-07162025) - [3.0.4000 (07/15/2025)]({{ site.dcvb_python_release_notes_v3 }}python-3.html#304000-07152025) diff --git a/programming/python/release-notes/python-3.md b/programming/python/release-notes/python-3.md index cb64080..03d3d5b 100644 --- a/programming/python/release-notes/python-3.md +++ b/programming/python/release-notes/python-3.md @@ -8,6 +8,63 @@ needGenerateH3Content: false # Release Notes for Python Edition - 3.x +## 3.2.1000 (10/14/2025) + +🎉 **Milestone Release** - This version introduces groundbreaking AI-powered enhancements that significantly improve accuracy and performance across all barcode and MRZ processing scenarios. + +### ✨ Key Highlights + +**AI-Powered Barcode 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` parameter enables on-demand model loading and precise selection for specific barcode scenarios + +**Precision Control** +- ⚙️ **Granular Deblur Methods**: Fine-tuned `DM_DEEP_ANALYSIS` with specialized method control - `OneDGeneral`, `TwoDGeneral`, and `EAN13Enhanced` for targeted optimization +- 🎯 **Smart Barcode Counting**: New `ExpectedBarcodesCount` parameter enables **format-specific quantity control** and **early termination optimization** for known-quantity scenarios +- 🔍 **Advanced Region Detection**: New `RPM_GRAY_CONSISTENCY` mode enables precise region detection 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` parameter provides unprecedented control over text line detection algorithms + + +**Smart Document Capture** +- 🎥 **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 + + +### 💡 What This Means for You + +**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 + +**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 + +**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 + +**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 + +### Changed + +- Updated the default value of parameter [`MaxThreadsInOneTask`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/max-threads-in-one-task.html) from 4 to 0 (auto-detection). +- Updated the default value of parameter [`IncludeTrailingCheckDigit`]({{ site.dcvb_parameters_reference }}barcode-format-specification/include-trailing-check-digit.html) from 1 to 0. +- Deprecated argument `DeblurModelNameArray` of parameter [`DeblurModes`]({{ site.dcvb_parameters_reference }}barcode-reader-task-settings/deblur-modes.html), use `ModelNameArray` instead. +- Deprecated method `append_model_buffer` of class [`CaptureVisionRouter`]({{ site.dcvb_python_api }}capture-vision-router/capture-vision-router.html), use [`append_dl_model_buffer`]({{ site.dcvb_python_api }}capture-vision-router/auxiliary-methods.html#append_dl_model_buffer) instead. + ## 3.0.6000 (08/06/2025) ### Changed