Decoding Direct Part Marking (DPM) Barcode

Direct Part Marking (DPM) is a process to mark equipment with some information, such as barcodes, permanently. The typical DPM barcode symbologies include DataMatrix and QR code. Since version 7.2, Dynamsoft Barcode Reader SDK has been capable of decoding DPM barcodes. In this article, I will share how to create a simple python barcode reader to read the DPM DataMatrix code.

Read more

Downloading Barcode Images from Google for SDK Test

When evaluating an image processing and recognition SDK, image dataset is vital for benchmarking the performance. Google is absolutely the best place for finding and downloading required images.  An automation tool would be handy for getting amounts of image files rapidly. In this article, I will share how to use Python to download barcode images from Google, as well as how to test Dynamsoft Barcode Reader SDK with the image set.

Read more

How to Port Visual Studio C++ Project to Linux with CMake

Dynamsoft Barcode Reader is an enterprise-class barcode SDK implemented in C/C++. Although the SDK is available for Windows, Linux, and macOS, there is only one Windows sample showing how to invoke the latest video APIs in version 7.x. To make developers experience the example in Linux or other platforms, I decided to refactor the project build environment with CMake.

Read more

Python Barcode Decoding on Non-Python Created Thread

Dynamsoft Barcode Reader 7.0 brings a set of thread-based APIs for continuous frame management and corresponding barcode decoding. It extremely simplifies the programming complexity, especially for Python. It is known that Python’s GIL (Global Interpreter Lock) affects the performance in a multi-threaded scenario. Running computation intensive tasks in Python thread cannot improve the Python app performance. If you create a Python barcode scanner app with OpenCV and Dynamsoft Barcode Reader 6.x, Python multiprocessing is the only way for getting a high camera frame rate. With the thread-based APIs of Dynamsoft Barcode Reader 7.x, your Python apps will not be limited by GIL anymore. This tutorial shares how to integrate the thread-based C/C++ APIs into Python barcode extension.

Read more

Android Barcode Detection from Fast Moving Objects

Assume you apply barcode technology to the logistics conveyor belt for scanning parcels. A problem you may face is how to recognize barcodes from blurred images. Although we can use advanced algorithms to deal with this complicated case, we’d better improve the image quality as possible as we can. A simple way is to adjust the camera shutter speed which is also known as exposure time. Faster shutter speed can avoid motion blur. In this post, I will share how to invoke Android Camera2 APIs to change the shutter speed, as well as how to build a simple Android barcode reader to decode barcodes from fast-moving objects

Read more

Moving Heavy Computation from Raspberry Pi to Windows PC

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.

Read more