How to Benchmark Barcode SDK Performance in Python

On StackOverflow, you may have seen this kind of question: why some open-source barcode SDK failed to decode some barcode? Usually, there are three optional workarounds: improve the input image quality, improve the barcode algorithm, or find a better barcode SDK.  ZXing and ZBar are probably the most-welcomed open-source barcode SDKs, but their algorithms rarely enhanced over the past years. Why not use commercial barcode SDK if free SDK is not ideal? Last week, I published an article demonstrating how to use ZXing and ZBar in Python. In this article, I will show you how to use Dynamsoft Barcode Reader in Python, as well as compare its performance to ZXing and ZBar.

Read more

How to Use Python ZXing and Python ZBar on Windows 10

When creating a barcode reader app with a free barcode SDK, you may come up with ZXing instantly. ZXing is an open-source barcode reading and decoding library implemented in Java. There are some third-party projects, either ports or bindings, available for other programming languages. So if you want to create a Python barcode reader, you can use Python ZXing, which is a Python wrapper for invoking ZXing Java class. If you care about the performance, we can use Python ZBar, a Python wrapper for the ZBar C++ code, as a comparison.

Read more

How to Run and Debug Python Barcode App in Docker Container

When I was using CPython to create the Python barcode extension with Dynamsoft Barcode Reader, I had to take concern for the compatibility of Python versions. However, I’m reluctant to install all Python versions in my operating system. To test the compatibility of my Python barcode app in Windows, I picked Docker container as the workaround.

Read more

How to Use Tesseract OCR as an Assist for Barcode Scan

When scanning barcodes, the recognition rate is affected by image quality. If a barcode image is severely damaged, the barcode algorithm may fail to work. Fortunately, most of the linear barcodes (1D barcode) are printed with corresponding texts. OCR (optical character recognition) algorithm could be a complement to the barcode algorithm in such a scenario. In this article, I will share how to use Tesseract OCR to boost the barcode scan.

Read more

How to Use MyGet to Manage and Distribute Packages

MyGet is a universal package manager that allows you to create custom package feeds for Python, Maven, NuGet, npm, Bower, PHP, Vsix, and Ruby Gems.  For me, the most significant advantage of using MyGet is I can overwrite the package with the same version number comparing to other package repositories like PyPi and npmjs. This article shares how to upload Dynamsoft Barcode Reader packages to MyGet and how to install the packages for relevant projects.

Read more

GUI Barcode Reader: Porting .NET Framework to .NET Core

Last month, Microsoft released .NET Core 3.0 that allows developers to port Windows Forms and Windows Presentation Foundation (WPF) projects to the .NET Core projects. However, the feature is still Windows-only, which may disappoint someone who wants to create cross-platform GUI apps based on .NET Core. In this article, I will share how to create a simple Windows GUI barcode reader app on .NET Framework, and then port it to .NET Core.

Read more