Tag: cpp
-
Dynamsoft Barcode Reader SDK v11, part of the Dynamsoft Capture Vision (DCV) framework, brings a major architectural upgrade for building barcode and QR code scanning applications on desktop, mobile, and web platforms. The v11 C++ SDK introduces the CCaptureVisionRouter as the central orchestration engine. As an enterprise-class C++ barcode and...
-
Java Development Kit (JDK) does not provide a built-in API for camera access. A common workaround is to use OpenCV with Java bindings (such as JavaCV). However, OpenCV is a fairly large library, which may not be suitable for all applications. In this tutorial, we will demonstrate how to build...
-
Qt is a cross-platform C++ framework for developing applications with graphical user interfaces (GUIs). In this tutorial, you’ll learn how to create a robust, production-ready barcode scanner application using Qt 6, Microsoft Visual C++ (MSVC), and the Dynamsoft Barcode Reader C++ SDK on Windows. This tutorial covers everything from environment...
-
The font used in the Machine Readable Zone (MRZ) is called OCR-B, which is standardized and globally unified. In the latest version of the Capture Vision SDK, Dynamsoft has released a new deep learning model for MRZ recognition. The model has been trained on a large dataset of MRZ samples...
-
A virtual scanner is a software-based solution that mimics the functionality of a physical document scanner. It allows developers and testers to simulate scanning operations without requiring actual hardware, making it an essential tool for testing and development. In this tutorial, we’ll explore how to create a virtual scanner device...
-
Dynamsoft currently provides only a C++ Barcode SDK for macOS. Previously, we built a macOS barcode scanner by combining Swift, Objective-C and C++. Since modern macOS app development primarily relies on Swift, creating a macOS framework that wraps the C++ Barcode SDK with Objective-C++ can streamline the process of calling...
-
This is the final article in a series on building a lightweight C++ camera library across multiple platforms. We’ve already covered Windows and Linux, and now it’s time to dive into macOS. In this article, we’ll tap into AVFoundation to handle camera capture under the hood and leverage Cocoa for...
-
In the previous article, we developed a LiteCam library for camera access on Linux. To extend its functionality to Windows, we will leverage the Media Foundation API. This article explores how to use Media Foundation to access the camera on Windows, integrate it with the LiteCam library, and reuse the...
-
When searching for a camera SDK to develop desktop camera applications on Linux, OpenCV often comes to mind due to its simple APIs for camera access. However, the size of the OpenCV library is big, making it redundant for smaller projects, especially those that only require basic camera functionality. To...
-
Developing a Desktop MRZ Scanner for Passports, IDs, and Visas with Dynamsoft C++ Capture Vision SDK
The Machine Readable Zone (MRZ) is a section on passports, IDs, visas, and other travel documents that encodes key personal information, such as the holder’s name, nationality, document number, date of birth, gender, and document expiration date, in a standardized format. In this article, you’ll learn how to use the...
-
OpenCV is a powerful library capable of handling a wide range of computer vision tasks. However, its comprehensive functionality can result in a large library size, which may be excessive for applications that only require cross-platform camera streaming. In this article, we will demonstrate how to slim down OpenCV to...
-
In this article, we continue our series on parcel scanning technologies by delving into the world of C++. Building on our previous JavaScript tutorial, we will explore how to implement barcode scanning and OCR text extraction using C++. This guide will cover setting up the development environment, integrating necessary libraries,...
-
Dynamsoft’s official C++ Barcode SDK provides only command line samples in C++, which are not user-friendly for selecting image files and displaying results. The Win32 API (Windows API) is a core set of application programming interfaces primarily used for developing Windows GUI applications in C and C++. This article will...
-
A Node.js C++ addon is a module written in C++ that can be loaded into Node.js, used to extend Node.js capabilities by allowing developers to implement functionality in C++. This article will guide you through building a Node.js C++ addon for document edge detection and rectification. The addon relies on...
-
Recently, Dynamsoft rolled out C++ Barcode SDK v10.0. This version has been entirely re-written in C++, providing an entirely new suite of APIs for barcode reading. However, if you’re using MinGW(Minimalist GNU for Windows) to code with this SDK, such as integrating it into a Qt project, you may encounter...
-
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...
-
When building a TWAIN-compatible application and there is no physical scanner available, you can use a virtual scanner application for development and testing. TWAIN working group has released a TWAIN DS sample on GitHub. In this article, I will detail how to set up the development environment, as well as...
-
If you search for passport scanner software or MRZ reader software, you will find many of them are only available for mobile devices. For police officers, scanning passports by mobile devices is convenient when they are patrolling. However, for customs and immigration officers, they usually use desktop system and professional...
-
Dynamsoft Label Recognition (DLR) is an OCR SDK implemented in C/C++. The 1.0 Beta version was recently rolled out for Windows and Linux platforms. This article will demonstrate how to utilize the APIs of Dynamsoft Label Recognition to create a text recognition app on Windows. Requirements Dynamsoft Label Recognition 1.0...
-
Apple announced new Mac models with Apple M1 chip recently. Although Dynamsoft has not released an Apple Silicon version of Dynamsoft Barcode Reader SDK yet, I am curious how will x86_64 barcode SDK perform under Rosetta 2. In this article, I will build a simple command-line QR Code reader app...
-
Dynamsoft recently added a new panorama module to barcode SDK, aiming to provide a brand-new solution for warehouse and inventory management. In this article, I will try my best to guide you through the usage of Dynamsoft Panorama version 1.0, though the first version is not stable and optimized yet....
-
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...
-
A few days ago, I accepted a new challenge of creating a simple command line barcode reader using Rust and Dynamsoft Barcode Reader SDK. Rust is a system programming language similar to C++. The learning process did not go through smoothly as I expected. It is not as easy as...
-
It was my first time to hear about WebAssembly when watching Google I/O ‘17. WebAssembly (wasm) lets developers compile C/C++ or other statically typed languages into JavaScript for building high-performance web apps. Assume I have a C/C++ barcode detection or OCR library deployed on server-side, I can now move it to the...
-
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,...
-
In this tutorial, let’s see how easy to find all contours in an image with OpenCV APIs. Overview Finding contours is a useful task during image processing. The relevant OpenCV functions are as follows: Find contours in a binary image. void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int...
-
In this tutorial, let’s learn how to use Hough line transformation with OpenCV to make line detection in an Image. Hough Line Transform The Hough Line Transform is a transform used to detect straight lines. OpenCV implements three kinds of Hough Line Transforms:(Standard Hough Transform, SHT),(Multi-Scale Hough Transform, MSHT)and (Progressive...
-
Java Native Interface (JNI) is the glue between Java and native code such as C, C++, and assembly. With JNI, Java applications are capable of supporting platform-specific features. JNI enables developers to call low-level APIs (e.g. SQL, OpenGL etc.) to make Java application more powerful with higher performance. For example, we can...
-
It is known that RSA is a cryptosystem which is used for the security of data transmission. This tutorial introduces how to use RSA to generate a pair of public and private keys on Windows. Download and install OpenSSL https://www.openssl.org/community/binaries.html. Find libeay32.lib, ssleay32.lib and libeay32.dll. The following sample code will...