Tag: python
-
The document-scanner-sdk package provides Python bindings for the Dynamsoft C/C++ Document Scanner SDK v1.x, enabling developers to quickly create document scanner applications for Windows and Linux desktop environments. This article demonstrates how to build a web-based document scanner using Python Flask and the Python Document Scanner SDK. The application allows...
-
Among the Python barcode SDKs available, only a few support ARM32 and ARM64 architectures. The Dynamsoft Barcode Reader stands out as the premier commercial SDK offering robust 1D and 2D barcode recognition for ARM32 and ARM64 devices. This article guides you through creating ARM32 and ARM64 emulated environments on Windows,...
-
Python is renowned for its simplicity and ease of use, but when it comes to interacting with C-based shared libraries, Python’s high-level nature may present limitations. To overcome these limitations, developers often need to leverage C extensions or modules to access low-level functionalities. Dynamsoft’s Python Barcode SDK is an example...
-
In the world of Python barcode scanning, developers have several options to choose from, including ZXing, ZBar, and the Dynamsoft Barcode Reader. Each of these libraries offers unique strengths, catering to different needs and environments. ZXing and ZBar are popular open-source options, known for their community-driven development and flexibility. On...
-
WebP images enhance web performance, but decoding barcodes embedded in them can be a challenge since Dynamsoft Barcode Reader doesn’t support WebP directly. If you have a QR code in WebP format, how can you recognize it with Dynamsoft Barcode Reader? This article shows how to use libwebp with Dynamsoft...
-
Django is a popular Python framework for web development. In this tutorial, we will create a web application using Django and Dynamic Web TWAIN. This article is Part 4 in a 5-Part Series. Part 1 - Building Web Document Scanning Applications with ASP.NET Core MVC Part 2 - How to...
-
Object detection is a computer technology related to computer vision and image processing that deals with detecting instances of semantic objects of a certain class (such as humans, buildings, or cars) in digital images and videos.1 It can be used in a barcode reading task as barcodes are often printed...
-
In the previous article, we talked about what is QR code, its modes for encoding the data, and how to generate QR codes in Python. In this article, we are going to build an online QR code generator to make it convenient to generate QR codes in the browser. We...
-
A QR code (quick-response code) is a type of two-dimensional matrix barcode. It uses four standardized modes of encoding: numeric, alphanumeric, byte or binary, and kanji. Its highest storage capacity can be 2,953 bytes. Here is a table about different modes: Input mode Mode indicator Max. characters Possible characters, default...
-
Gemini is Google’s latest AI model, which can be used for free with a limit of 60 queries per minute, and is capable of recognizing text from images. Generally, 1D barcodes are accompanied by human-readable text, which can be used to verify the accuracy of barcode recognition results. In this...
-
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 New Function Create a new AWS Lambda...
-
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...
-
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’re looking to build and test barcode and QR code scanner applications for embedded and IoT devices such as Raspberry Pi, Arduino, Jetson Nano, and others, having a physical device is not essential for development. This article demonstrates how to use the Dynamsoft Barcode SDK to create barcode and...
-
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 provider of an 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...
-
Barcodes and QR codes are essential tools across various industries, including healthcare, finance, and education. In this article, we’ll explore how to leverage Dynamsoft’s powerful barcode recognition technologies to create an online barcode and QR code scanning application using Python Django. This article is Part 6 in a 11-Part Series....
-
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 streams, image files, and screenshots. In this article, I will demonstrate how to set a document scanner as the input source. The SDK...
-
ZeroMQ is a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications. It supports common messaging patterns (pub/sub, request/reply, client/server and others) over a variety of transports (TCP, in-process, inter-process, multicast, WebSocket and more), making inter-process messaging as simple as inter-thread messaging. 1 ZeroMQ can be used...
-
In everyday life, we often use our smartphones to scan QR codes. However, when working on a computer, using a smartphone isn’t always the most convenient option for scanning QR codes that appear on your screen. Photos taken from monitors can have Moiré patterns, which can interfere with QR code...
-
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...
-
Advanced QR Code Recognition: Handling Inverted Colors, Perspective Distortion, and Grayscale Images
When using a QR code reader or scanner SDK, the key priorities are detection speed and recognition accuracy. Several factors can influence the performance of a QR code detection SDK, which can be broadly categorized into two areas: image quality and algorithm efficiency. This article uses the Dynamsoft Python Barcode...
-
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...
-
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 powerful tool for creating cross-platform graphical user interfaces (GUIs) using Qt widgets. In this guide, we’ll use Qt Designer to develop an advanced GUI for a Python-based barcode and QR code reader, leveraging the Dynamsoft Python Barcode SDK. This application will be compatible with Windows, Linux,...
-
If you’re aiming to develop a cross-platform GUI application using Python and Qt, your primary options are PyQt and PySide. Both offer Qt bindings for Python, but they differ mainly in licensing: PyQt5 requires either a GPL or a commercial license, while PySide6 is licensed under LGPL, making it more...
-
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 specifically for QR code detection and tested it using Darknet. In this article, I will demonstrate how to use OpenCV’s DNN (Deep Neural Network) module to load the YOLO model for detecting QR codes from static images and real-time...
-
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 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...
-
LEGO Wedo 2.0 is a fantastic starting point for learning robotics. I developed a simple GUI application to control the LEGO motor using Python, and in this article, I’ll share my journey of selecting the development environment and building the Python app. Learning Resources During my initial research, I came...
-
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...
-
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....
-
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...