Tag: python
-
Scanned documents often contain skewed or crooked images. They do not look good and are not friendly for OCR. In this article, we are going to use OpenCV and Python to deskew scanned documents based on text lines. Steps to Deskew a Scanned Document Image with OpenCV We are going...
-
When developing or selecting an MRZ (Machine Readable Zone) recognition SDK, the primary challenge lies in finding an appropriate dataset for testing. Acquiring genuine MRZ images is challenging, and due to privacy concerns, they aren’t publicly accessible. Therefore, crafting MRZ images becomes a practical solution. Fortunately, there’s an open-source Python...
-
Dynamsoft Service streamlines document scanner programming for developers by providing a unified REST API that works with TWAIN, WIA, eSCL, SANE and ICA drivers. We have previously released a Node.js package and a Flutter plugin to interact with Dynamsoft Service’s REST API. In this article, we will extend this convenience...
-
Passport Machine Readable Zone (MRZ) detection is sensitive to the orientation of the passport. If the passport is not right side up, the MRZ detection rate will be low. In this article, we will discuss how to improve the MRZ detection rate from rotated images with Python. Edge detection, perspective...
-
In the previous article, we built a simple barcode reader server in Python and deployed it on Vercel. In this article, we are going to deploy it on AWS Lambda to provide a serverless barcode reading interface. Getting started with Dynamsoft Barcode Reader DOWNLOAD THE SDK WITH A 30-DAY LICENSE...
-
Microsoft Power Automate is a powerful service designed to automate workflows between various apps and services. Its Desktop version provides the added capability of automating desktop-centric operations, with or without user interface interactions. In this article, we will explore how to integrate Dynamsoft Barcode Reader, Dynamsoft Document Normalizer, and Dynamsoft...
-
Python is a programming language commonly used for scripting, data science, web development, etc. In this article, we are going to talk about how to set up a simple barcode reading server in Python with the Flask web framework. This article is Part 1 in a 3-Part Series. Part 1...
-
These are just a few Python barcode SDKs that support ARM32 and ARM64 architectures. Dynamsoft Barcode Reader is the only commercial 1D and 2D barcode SDK that provides barcode recognition capabilities for ARM32 and ARM64 devices. This article demonstrates how to create ARM32 and ARM64 emulated environments on Windows to...
-
If you are looking for the specification of South African driving license, you may be disappointed. There is no official reference except for the Stack Overflow Q&A, an incomplete document - ZA Drivers License format and an C# open source project. The Stack Overflow Q&A provides the RSA public key...
-
Raspberry Pi is an affordable single-board computer often chosen by developers for cost-effective IoT solutions, such as barcode and QR code scanning. It’s important to note that the CPU clock speed influences the decoding speed and accuracy. Dynamsoft Barcode Reader SDK, compatible with Raspberry Pi, excels in decoding multiple and...
-
Dynamsoft Document Normalizer is a document scanning SDK that can be used to do edge detection, perspective correction, and contrast enhancement. Its C/C++ API is available on Windows and Linux. In this article, we will show you how to build a Python wrapper for Dynamsoft C/C++ Document Normalizer SDK, as...
-
The latest version 2.2.10 of Dynamsoft Label Recognizer C++ SDK has optimized the MRZ recognition model, which is much smaller and more accurate than the previous version. It now supports recognizing MRZ from passport, Visa, ID card and travel documents. To facilitate developing desktop MRZ recognition software, we can bind...
-
If you want to build and test barcode QR code scanner applications for embedded and IoT devices, such as Raspberry Pi, Arduino, Jetson Nano and so on, a physical device is not must-have for development. This article shows how to use Dynamsoft Barcode SDK to build barcode QR code reading...
-
Dynamic Web TWAIN is an SDK which makes it possible to scan documents in browsers. Selenium is a suite of tools for automating web browsers, like Firefox, Edge and Chrome. Primarily, it is for testing purposes, but it can also serve for other tasks. In this article, we are going...
-
Implementing a Python extension in C or C++ is easy, but building the native module into a Python wheel package for different operating systems and different Python versions is a nightmare. A CPython wheel package is Python-version-dependent, therefore, to make a CPython module work universally for Python 3.x, you have...
-
Dynamsoft Barcode Reader, as an enterprise-class barcode and QR code SDK, supports many platforms (Windows, Linux, macOS, Android, iOS, Raspberry Pi OS, and Web) and programming languages (Python, Java, Swift, C#, Cpp, and JavaScript). There are many sample projects distributed in Dynamsoft GitHub repositories and official website. To help developers...
-
Dynamsoft is the only company that provides enterprise-class Python Barcode and QR Code SDK for Windows, Linux, macOS, and Raspberry Pi OS. The SDK allows developers to quickly build robust command-line, web, and desktop applications that can scan barcodes and QR codes from a wide range of sources. In this...
-
Barcode and QR codes are widely used in many industries, such as healthcare, finance, and education. This article shares how to leverage Dynamsoft barcode recognition technologies to implement an online barcode and QR code scanning app with Python Django. This article is Part 2 in a 3-Part Series. Part 1...
-
Jupyter notebook is a web-based interactive computing environment that enables you to create and share documents that contain live code, equations, visualizations and narrative text. If you have installed Anaconda, Jupyter notebook is installed by default. This article demonstrates how to write Python code to scan barcodes in Jupyter notebook....
-
A few months ago, I published a cross-platform desktop barcode reading application built with Qt Python and Dynamsoft Barcode Reader. The supported input sources include real-time camera stream, image files, and screenshots. In this article, I will set document scanner as the input source. The SDK used for document scanning...
-
In our life, we usually take out smartphone to scan QR code. But when we are working on a computer, smartphone may not be the best choice for scanning QR codes that appear on web pages. One reason is the pictures taken from a monitor screen have the Moire’ patterns...
-
Dynamsoft Barcode Reader currently does not support WebP images. If you download a QR code image encoded with WebP format, how can you recognize the QR code with Dynamsoft Barcode Reader? In this article, we combine libwebp and Dynamsoft Barcode Reader to fulfill decoding QR code from WebP images. Installation...
-
“WebP is an image format employing both lossy and lossless compression, and supports animation and alpha transparency. Developed by Google, it is designed to create files that are smaller for the same quality, or of higher quality for the same size, than JPEG, PNG, and GIF image formats” - Wikipedia....
-
Image annotation is a key step in deep learning. It prepares the data for tasks like image classification, object detection, semantic segmentation, etc. For image classification, we only need to annotate the label. For object detection, we also need the bounding box and for segmentation, we need to annotate objects...
-
Django is a popular framework of Python for web development. In this tutorial, we will create a web application with Django and Dynamic Web TWAIN. About Dynamic Web TWAIN Python Development Environment Python 3.7.9 python --version Django 3.2.7 python -m pip install Django python -m django --version Overall steps The...
-
When using a QR code reader or scanner SDK, we primarily focus on the detection speed and recognition accuracy. There are many factors that may affect the performance of the QR code detection SDK. The factors can be approximately classified into two categories: image quality and algorithm performance. In this...
-
The International Article Number (also known as European Article Number or EAN) is a standard describing a barcode symbology and numbering system used in global trade to identify a specific retail product type. The most commonly used EAN standard is the thirteen-digit EAN-13. 1 The 13-digit EAN-13 number consists of...
-
Motion detection can detect whether there is a change in the positions of objects. It can be achieved by many methods. For example, infrared light or laser technology can be used for optical detection. As for image processing methods, there is a basic one by a fixed camera, which compares...
-
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...
-
Email is a convenient way to send scanned documents. The ability to send emails is built into many network scanners. For example, HP All-in-One devices have a Scan-to-Email app. However, we cannot use these devices’ built-in email-sending ability if we want to control the scanning process in a web scanning...
-
Qt Designer is a Qt tool for building cross-platform graphical user interfaces (GUIs) with Qt widgets. In this article, I will use the Qt designer to create an advanced GUI Python barcode and QR code reader with Dynamsoft Python Barcode SDK for Windows, Linux, macOS, and Raspberry Pi OS. The...
-
If you’re looking to build a cross-platform GUI app using Python and Qt, you have two primary options: PyQt and PySide. Both serve as Qt bindings for Python. Their primary distinction lies in their licensing: PyQt5 is available under the GPL or a commercial license, while PySide2 uses the LGPL....
-
Someone may be curious about whether Intel-based Python apps can work well on Apple M1 Mac. I recently did a test with Dynamsoft Python Barcode SDK, which is built with native x86_64 libraries and CPython. It turned out that there was no issue using pip to install the wheel package...
-
In the past two weeks, I trained a custom YOLOv3 model for QR code detection and tested it with Darknet. In this article, I will use OpenCV’s DNN (Deep Neural Network) module to load the YOLO model for making detection from static images and real-time camera video stream. Besides, I...
-
Since from version 7.6.x, Dynamsoft Barcode Reader started to support ARM64 (Previously, ARM32 only). It is good news for developers who aim to build barcode reader app on embedded computing boards like Raspberry Pi and Nvidia Jetson Nano. In this article, I will guide you through the process of building...
-
Start and stop characters are defined as part of linear barcode (1D barcode) standard. However, you may suffer from some nonstandard 1D barcode symbologies in which the start and stop characters are somehow changed. In this article, I will take Code39 as an example, demonstrating how to decode nonstandard 1D...
-
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...
-
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 barcodes) are printed with corresponding texts. OCR (optical character recognition) could be a complement to the barcode algorithm...
-
AppVeyor is a continuous integration (CI) service used to automatically build code projects and deploy relevant artifacts. It provides build environments for Windows, Linux, and macOS. In this article, I will share how to use AppVeyor to build and deploy Python Wheels (Windows edition) from C/C++ code. Creating Python Wheels...
-
Three years ago, I created a Python extension module for Dynamsoft Barcode Reader C/C++ SDK. The code skeleton has never been changed until recently the SDK updated to v7.0. In the latest barcode SDK, besides the values of barcode symbologies, there are more constant variables needed to be predefined. The...
-
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...
-
If you want to quickly create a walking robot, you can use the Lego Boost. In this post, I will share how to use a webcam, Lego Boost, and Dynamsoft Barcode Reader SDK to make a robot for scanning barcodes. The programming language used in this article is Python. What...
-
LEGO Wedo 2.0 is a good start for learning robotics. I created a simple GUI app controlling the LEGO motor using Python. In this article, I will share my experience in how to select the development environment and how to build the Python app. Learning Resources When I searched for...
-
In my previous article, I shared how to use PyQt and Dynamsoft Barcode Reader to create a simple Windows-styled GUI app to read barcodes from image files. Now I am going to add a little bit more code to scan barcodes from the webcam video stream. Showing Webcam Video Stream using PyQt...
-
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...
-
Previously, I wrote an article sharing how to build Python barcode extension using C/C++ with Dynamsoft Barcode Reader SDK. If Python developers want to use the extension, they have to make it by themselves. It is a little bit inconvenient. A better way is to package the extension and distribute...
-
When porting code from Python 2 to Python 3, it is not as easy as you imagined no matter whether the primary programming language is Python or C/C++. Re-compiling the Dynamsoft Barcode extension for Python 3 is a challenge because I only found a few of documentation and resources online....
-
Many excellent document mobile apps support not only image capture, but also edge detection and perspective transformation. If you are interested in these computer vision technologies, you can use OpenCV to create a free document scanner app yourself. In this post, I want to share how to use OpenCV-Python to...
-
Recently, I was inspired by a blog post “Python Live Video Streaming Example” and thinking whether it is possible to save the camera streaming to a video file. Based on the example code, I managed to figure out a solution. In this post, I want to share the process of...
-
Using OpenCV APIs to capture video from a camera is convenient. However, OpenCV does not provide an API for listing all available devices. If you have multiple cameras connected to your PC, you have no idea how to choose the right one. To get device information on Windows, you need...
-
Previously, I wrote an article Raspberry Pi Barcode Scanner with Webcam and Python illustrating how to build a simple barcode scanner using Dynamsoft Barcode Reader SDK and OpenCV from scratch. The method decodeFile() was used for detecting barcodes from an image file. To use the API, you have to write...
-
OpenCV officially provides both C++ and Python APIs for developers. Most of the time, developers just need to use one kind of programming languages to read, write and process images with hundreds of computer vision algorithms. However, if you want to use OpenCV Python APIs with an extended C/C++ library,...
-
Links is one of the critical SEO factors for a Website. When creating or re-designing some pages, we cannot ignore Website audit especially in terms of finding and tracking broken links regularly. Although there are many online tools, it is still worth learning and implementing such a tool ourselves for...
-
Django is a Web application framework written in Python. In this article, I will focus on how to use Django to upload files. Besides a basic demo that based on HTML form, I will also share how to combine Dynamic Web TWAIN SDK with Django to scan and upload image...