Skip to content

Commit 4b2de32

Browse files
Updating side lists
1 parent 24fe800 commit 4b2de32

4 files changed

Lines changed: 190 additions & 85 deletions

File tree

_includes/sidelist-programming/programming-android.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<li><a href="{{ site.android }}user-guide/concept/barcode-format.html" class="otherLinkColour">Barcode Formats</a></li>
1212
<li><a href="{{ site.android }}user-guide/concept/parameters-and-templates.html" class="otherLinkColour">Settings, Parameters & Templates</a></li>
1313
<li><a href="{{ site.android }}user-guide/concept/understand-barcode-results.html" class="otherLinkColour">Understanding Barcode Results</a></li>
14+
<li><a href="{{ site.android }}user-guide/concept/models.html" class="otherLinkColour">Deep Learning Models</a></li>
1415
</ul>
1516
</li>
1617

programming/android/index.md

Lines changed: 5 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -10,69 +10,17 @@ breadcrumbText: Android
1010

1111
# Dynamsoft Barcode Reader Android Edition
1212

13-
Dynamsoft Barcode Reader (DBR) SDK Android Edition is a barcode reading tool designed specifically for Android developers.
14-
15-
You can either get a quick start with the [BarcodeScanner APIs](api-reference/barcode-scanner/index.md) or experience a highly customizable development with the [foundational APIs](api-reference/index.md). Furthermore, DBR provides a powerful [parameter]({{ site.dcvb_parameters}}file/index.html?lang=android) system in order to cope with various scenarios.
16-
17-
| | Develop with BarcodeScanner APIs | Develop with Foundational APIs |
18-
| -- | ------------------------------ | ------------------------------ |
19-
| Lines of Code | 15+ lines | 60+ lines |
20-
| UI | Preset UI only | Custom UI (DIY) |
21-
| Decode from Live Video |||
22-
| Return Multiple Barcodes |||
23-
| Specify Barcode Formats |||
24-
| Performance Customization |||
25-
| Camera Control | Limited ||
26-
| Decode from an Image | X ||
27-
| Save Original Image | X ||
28-
| Continuous Scan | X ||
29-
| Parse Barcode Text (e.g. Driver's license) | X ||
30-
31-
## Develop with BarcodeScanner APIs
32-
33-
`BarcodeScanner` is a component with the following features:
34-
35-
- Minimal Code: High-level APIs achieve full functionality with one line of code.
36-
- Ready-to-Use UI: Pre-integrated components and UI enable quick setup.
37-
- Common Customization: Configuration objects simplify typical algorithm and UI setups.
38-
39-
`BarcodeScanner` supports 2 different Scanning Modes
40-
41-
- Single Barcode Scanning Mode
42-
1. Scans any number of barcodes but returns only one result.
43-
2. Speed prioritized.
44-
3. Requires user to select one as the result when scanned multiple barcodes.
45-
- Multiple Barcodes Scanning Mode
46-
1. Scans multiple barcodes and returns all scanned results.
47-
2. Read-rate prioritized.
48-
49-
<div align="center">
50-
<p><img src="../assets/single-vs-multiple.png" width="100%" alt="barcode-scanner"></p>
51-
</div>
52-
53-
<div class="blockquote-note"></div>
54-
> If you are looking for a solution to scan large batches of barcodes, please refer to the [`BatchBarcodeScanner`](https://www.dynamsoft.com/use-cases/batch-barcode-scanning/){:target="_blank"}. The `BatchBarcodeScanner` has much higher ability on scanning large number of barcodes. It also provides you a highly interactable UI for result previewing, editing, saving, reusing and sharing.
55-
56-
- [Build your First APP](user-guide.md)
57-
- [Configure Your Barcode Scanner](user-guide/configure-barcode-scanner.md)
58-
- [View BarcodeScanner API References](./api-reference/barcode-scanner/index.md)
59-
- [Check out BarcodeScanner Samples on GitHub](https://github.com/Dynamsoft/barcode-reader-mobile-samples/tree/main/android/BarcodeScannerAPISamples)
60-
61-
## Develop with Foundational APIs
62-
63-
If you are looking for a fully customizable barcode decoding library, you are welcome to use the Foundational APIs.
64-
65-
- [Build your APP with foundational APIs](foundational-guide.md)
66-
- [Explore Features](user-guide/explore-features/index.md)
67-
- [View Foundation API References](./api-reference/index.md)
68-
- [Check out Foundational API Samples on GitHub](https://github.com/Dynamsoft/barcode-reader-mobile-samples/tree/main/android/FoundationalAPISamples)
69-
7013
## System Requirements
7114

7215
- Supported OS: Android 5.0 (API Level 21) or higher.
7316
- Supported ABI: **armeabi-v7a**, **arm64-v8a**, **x86** and **x86_64**.
7417
- Development Environment: Android Studio 2022.2.1 or higher.
7518

19+
## Get Started
20+
21+
- [Quick Start with BarcodeScanner Component](user-guide.md) if you want to quickly setup and experience the basic scanning workflow.
22+
- [Develop with Foundational APIs](foundational-guide.md) if you are developing barcode scanning feature for a customized workflow.
23+
7624
## Download Demo App
7725

7826
- [View in Google Play Store](https://play.google.com/store/apps/details?id=com.dynamsoft.demo.dynamsoftbarcodereaderdemo&pli=1){:target="_blank"}
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
---
2+
layout: default-layout
3+
title: Deep Learning Models - Dynamsoft Barcode Reader Android
4+
description: The usage of deep learning models in the Dynamsoft Barcode Reader Android SDK.
5+
keywords: models, deep learning, Neural Network, Android, java, kotlin
6+
noTitleIndex: true
7+
needGenerateH3Content: true
8+
needAutoGenerateSidebar: true
9+
---
10+
11+
# Deep Learning Models in Barcode Scanning
12+
13+
Deep learning models are used by the SDK to improve barcode detection and decoding robustness, especially in challenging conditions such as blur, low contrast, distortion, glare, and complex backgrounds.
14+
15+
In most cases, these models are loaded and used automatically. You usually only need to understand their role and package impact, then decide whether to keep or remove specific model files based on your barcode scope.
16+
17+
## Where Models Are Used in the Pipeline
18+
19+
In a simplified view, barcode processing can be divided into two major stages:
20+
21+
1. Localization stage
22+
- Find potential barcode regions in the image.
23+
2. Decoding stage
24+
- Decode the detected regions into barcode text and format.
25+
26+
Different model groups optimize different stages.
27+
28+
## Available Models
29+
30+
### Localization Models
31+
32+
Localization models mainly affect the region detection stage.
33+
34+
Benefits:
35+
36+
1. Improve barcode localization success rate.
37+
2. Filter out false-positive regions before decoding.
38+
3. Reduce wasted decode attempts on invalid regions.
39+
40+
- DataMatrixQRCodeLocalization.data
41+
- OneDLocalization.data
42+
- PDF417Localization.data
43+
44+
Typical use case:
45+
46+
- Images where barcodes are small, partially occluded, or surrounded by heavy background textures.
47+
48+
### Decoders
49+
50+
Decoder models mainly affect the decode stage for specific symbologies.
51+
52+
Benefits:
53+
54+
1. Improve decode success rate on difficult samples.
55+
2. Improve decode efficiency when symbols are damaged or low quality.
56+
3. Provide stronger format-specific decoding capability.
57+
58+
- Code128Decoder.data
59+
- Code39ITFDecoder.data
60+
- EAN13Decoder.data
61+
62+
Typical use case:
63+
64+
- Retail, logistics, and warehouse scenarios where 1D barcodes may be compressed, printed with noise, or captured at non-ideal angles.
65+
66+
### Deblur Models
67+
68+
Deblur models are used before or during decoding to recover details from blurred barcode regions.
69+
70+
Benefits:
71+
72+
1. Improve success rate for motion blur and out-of-focus images.
73+
2. Especially useful for image-based decoding workflows.
74+
75+
Trade-off:
76+
77+
- Usually slower than non-deblur paths, so they are more suitable when read-rate is prioritized over speed.
78+
79+
- OneDDeblur.data
80+
- PDF417Deblur.data
81+
- DataMatrixQRCodeDeblur.data
82+
83+
Typical use case:
84+
85+
- Document scan, album/image import, and any workflow where users decode still images with unstable quality.
86+
87+
## Model Selection Recommendations
88+
89+
If your app has a clear barcode scope, you can keep only the related models.
90+
91+
- QR Code + DataMatrix only:
92+
- Keep `DataMatrixQRCodeLocalization.data` and `DataMatrixQRCodeDeblur.data`.
93+
- Consider removing OneD/PDF417-related models.
94+
- 1D-focused business workflows:
95+
- Keep `OneDLocalization.data`, `Code128Decoder.data`, `Code39ITFDecoder.data`, `EAN13Decoder.data`, and `OneDDeblur.data`.
96+
- PDF417-heavy workflows (e.g. IDs and transport docs):
97+
- Keep `PDF417Localization.data` and `PDF417Deblur.data`.
98+
99+
If you are unsure, keep all default models first, then trim by test results.
100+
101+
## Package Details and How to Shrink APP Size
102+
103+
Model files are packaged in `DynamsoftBarcodeReaderBundle.aar`.
104+
105+
To reduce app size, you can remove unneeded model files during the build process.
106+
107+
For example, if your app focuses on QR Code and DataMatrix only, you can remove most OneD and PDF417 model files:
108+
109+
```groovy
110+
android.applicationVariants.all { variant ->
111+
def cap = variant.name.capitalize()
112+
tasks.named("merge${cap}Assets").configure {
113+
doLast {
114+
outputs.files.files.each { out ->
115+
delete fileTree(out) {
116+
include "**/Models/OneDLocalization.data"
117+
include "**/Models/PDF417Localization.data"
118+
include "**/Models/Code128Decoder.data"
119+
include "**/Models/Code39ITFDecoder.data"
120+
include "**/Models/EAN13Decoder.data"
121+
include "**/Models/OneDDeblur.data"
122+
include "**/Models/PDF417Deblur.data"
123+
}
124+
}
125+
}
126+
}
127+
}
128+
```
129+
130+
## Best Practices
131+
132+
1. Start with all default models enabled.
133+
2. Confirm your target barcode formats and real-world scan scenarios.
134+
3. Remove unrelated models gradually.
135+
4. Validate both speed and read rate after each shrink step.
136+
5. Keep a fallback build profile with all models for troubleshooting.
137+
138+
## Next Steps
139+
140+
- [Barcode Formats](barcode-format.md)
141+
- [Parameters, Settings & Templates](parameters-and-templates.md)
142+
- [Understand Scan Results](understand-barcode-scan-results.md)

programming/android/user-guide/index.md

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,48 @@ needGenerateH3Content: true
99
needAutoGenerateSidebar: true
1010
---
1111

12-
# Dynamsoft Barcode Reader Android Edition User Guide
12+
# Get Started
13+
14+
Choose one of the two guides below based on your development goal.
15+
16+
<table>
17+
<tr>
18+
<td width="50%" valign="top">
19+
<a href="../user-guide.md" style="display:block; color:inherit; text-decoration:none;">
20+
<h2>🚀 Quick Start with BarcodeScanner</h2>
21+
<p>
22+
Build a working scanner app quickly with the ready-to-use <code>BarcodeScanner</code> component.
23+
Best for fast integration and standard scanning workflows.
24+
</p>
25+
<ul>
26+
<li>Lower learning curve</li>
27+
<li>Preset scanning UI</li>
28+
<li>Fewer lines of code</li>
29+
</ul>
30+
<p><strong>Enter this guide →</strong></p>
31+
</a>
32+
</td>
33+
<td width="50%" valign="top">
34+
<a href="../foundational-guide.md" style="display:block; color:inherit; text-decoration:none;">
35+
<h2>🛠️ Advanced with Foundational APIs</h2>
36+
<p>
37+
Use Foundational APIs for professional-level customization of camera control,
38+
decoding workflow, and performance tuning.
39+
</p>
40+
<ul>
41+
<li>Full workflow control</li>
42+
<li>Custom UI and camera pipeline</li>
43+
<li>Advanced scenario coverage</li>
44+
</ul>
45+
<p><strong>Enter this guide →</strong></p>
46+
</a>
47+
</td>
48+
</tr>
49+
</table>
1350

14-
These articles will help you get the most out of Dynamsoft Barcode Reader Android Edition.
15-
16-
## Build Your APP with the BarcodeScanner APIs
17-
18-
Develop a barcode scanner by using the ready-to-use UI, `BarcodeScannerActivity`.
19-
20-
- [Build your First APP](../user-guide.md)
21-
- [Configure your barcode scanner](configure-barcode-scanner.md)
22-
- [Specify Barcode Formats](scanner-barcode-formats.md)
23-
- [Switch Single & Multiple Scanning Modes](scanner-multi-barcodes.md)
24-
- [Improve the Performance](scanner-improve-performance.md)
25-
- [Customize Scanner UI](scanner-customize-ui.md)
26-
- [Add Additional Settings](scanner-additional-settings.md)
27-
28-
## Build Your APP with Foundational API
29-
30-
High-level customization is available via the foundational APIs. These samples show you how to access the full feature of the foundational DynamsoftBarcodeReader SDK.
31-
32-
- [Build your APP with foundational APIs](../foundational-guide.md).
33-
- [Explore Features](explore-features/index.md)
34-
35-
## Develop for Other Platforms
51+
---
3652

37-
These links will help you for developments on other platforms.
53+
## Which one should I choose?
3854

39-
- [Getting Started with iOS](https://www.dynamsoft.com/barcode-reader/docs/mobile/programming/objectivec-swift/?ver=latest){:target="_blank"}
40-
- [Getting Started with MAUI](https://www.dynamsoft.com/capture-vision/docs/programming/maui/?ver=latest){:target="_blank"}
41-
- [Getting Started with React Native](https://www.dynamsoft.com/capture-vision/docs/programming/react-native/?ver=latest){:target="_blank"}
42-
- [Getting Started with Flutter](https://www.dynamsoft.com/capture-vision/docs/programming/flutter/?ver=latest){:target="_blank"}
55+
- Choose **BarcodeScanner** if you want to ship quickly with minimal setup.
56+
- Choose **Foundational APIs** if you need deeper customization and full control.

0 commit comments

Comments
 (0)