Previously, I wrote a post about how to recognize passport MRZ from an image file using C++. In this post, I will create a more productive Android app, which utilizes camera to recognize MRZ.
Android camera2 API is a replacement for the older Camera API. Since it is more powerful and flexible, Android officially recommends it. However, it is still a bit complicated to use. To simplify the programming progress, I will use Dynamsoft Camera Enhancer which not only wraps the camera2 API, but also provides image processing functions to optimize camera frames.
As the original writer of Dynamsoft Barcode Reader for Python (
pip install dbr), I prefer using CPython and Dynamsoft C/C++ Barcode SDK to bring barcode detection APIs to Python. However, Ctypes is also worth to be explored. It allows developers to call C functions of shared libraries in pure Python code. The article goes through the steps of how to invoke Dynamsoft C/C++ Barcode APIs by Python Ctypes.
Assume you have downloaded the C/C++ packages, which contains *.dll and *.so files for Windows and Linux, from Dynamsoft website. We copy the *.dll and *.so …
MRZ stands for machine readable zone. A passport has a machine-readable zone which contains the information about name, nationality, passport number, date of birth, sex, and expiration date of passport. This article introduces how to use Dynamsoft OCR SDK to recognize MRZ and parse the corresponding information.
sudo apt install libopencv-dev cmake
In the following paragraphs, we firstly use Dynamsoft OCR SDK to localize the machine-readable zone of a passport and recognize the corresponding text string, and then extract…
Since from version 17.1, Chromes OS comes into the supporting list of Dynamic Web TWAIN. The supported desktop operating systems of Dynamic Web TWAIN now include Windows, Linux, macOS, Raspberry Pi OS and Chrome OS. This article helps Chromebook users to install Dynamic Web TWAIN service in Chrome OS. Building web document management applications for Chrome OS has come true.
Let’s open the free online demo of Dynamic Web TWAIN.
As you visit the page for the first time, you will be required to download the
*.deb file for Chrome OS.
After clicking the download button, a file named
The Flutter barcode SDK series is coming to the end. This week, we switch the coding environment to macOS to finish the rest of the plugin platforms — iOS and MacOS — using Swift.
As always, we add the iOS template to the existing plugin project first:
flutter create --template=plugin --platforms=ios .
The command generates…
For the past several weeks, the Flutter plugin of Dynamsoft Barcode Reader has covered Windows, Android and Web. This week, we go through the plugin implementation for Linux. Similar to Windows, we combine Dart and C++ code for Linux. The unexpected thing is the C++ data types of Flutter defined for Linux change a lot. So it still takes a little bit of time to make the plugin work.
To initialize the plugin template for Linux, we need to switch the coding environment to Linux firstly, and then run the following command to add the…
decodeFile() method used for mobile and desktop development.
Let’s add a web platform template to the existing plugin project:
flutter create --template=plugin --platforms=web .
The command only generates a
flutter_barcode_sdk_web.dart file under the
Last week, I wrote a step-by-step tutorial sharing how to build a Flutter barcode SDK plugin with Dynamsoft Barcode Reader. The platform-specific code of Android is done. This week, I am going to focus on Windows desktop. Since the Flutter desktop plugin development is still on the early stage, there are not too many learning resources available. It will be interesting and challenging to explore the desktop plugin implementation using C++.
The following resources are inspiring for Flutter Windows plugin development.
Let’s peek the
windows plugin folder structure:
About two years ago, I wrote an article sharing how to build a Flutter barcode plugin with Dynamsoft Barcode Reader step by step. At that time, Flutter was still under development and only supported Android and iOS. Nowadays, Google has released Flutter 2, which allows developers to build apps for mobile, web, and desktop from a single codebase. If you want to build cross-platform apps, it is worth putting much effort into Flutter from now on. …
Manager of Dynamsoft Open Source Projects | Tech Lover