If you want to use Raspberry Pi as an economical way of detecting barcodes, you can take account for Dynamsoft Barcode Reader SDK. As a business software, Dynamsoft Barcode Reader SDK is designed for overcoming a variety of complicated scenarios with sophisticated algorithms and heavy computations. Although the SDK is flexible for customizing algorithm parameters, subject to the low-frequency CPU of Raspberry Pi, the tradeoff between recognition accuracy and detection speed is still a big challenge. In this article, I will use Socket client-server model as a substitute solution. Thanks to Sabjorn’s NumpySocket module.
Qt for Python enables developers to quickly create GUI apps on Windows, Linux and macOS with one codebase. In this article, I will share how to build a Python barcode reader with Qt on Windows. Since Dynamsoft Barcode Reader SDK is also cross-platform, it is easy for you to reuse the sample code on Linux and macOS.
If you are using React Native, you can quickly create a camera app with React Native Camera. In addition, React Native Camera component supports barcode scanning, face detection, and text recognition. This article shares how to replace the default barcode reading function with Dynamsoft Barcode Reader for Android.
Some developers used JNA to call native C/C++ interfaces of Dynamsoft Barcode Reader in Java program. The app ran slowly and sometimes crashed. Based on the use case, I created a simple project for building JNA and JNI on Windows. The sample does not only show how to invoke native code but also share how to check the Java thread stack size and solve the stack overflow issue on Windows.
The article is not about how to create Java native methods invoking C/C++ APIs. It aims to help developers to build a jar package containing JNI shared library, made with Dynamsoft Barcode Reader, for Windows, Linux, and macOS from scratch. I will demonstrate how to create JNI shared libraries with CMake, as well as how to package class files and shared libraries into jar files with Eclipse and Maven.