Untitled
Introduction
Section titled “Introduction”What is iDRS™ SDK?
Section titled “What is iDRS™ SDK?”iDRS stands for I.R.I.S. Developer Reading System.
iDRS is a Software Development Kit (SDK) designed to integrate I.R.I.S. ‘core technologies - such as Optical Character Recognition (OCR), Barcode Recognition (BCR), Intelligent Character Recognition (ICR), image enhancement, intelligent High-Quality Compression (iHQC), High Quality OCR (HQOCR) and document output technology.
Target audience
Section titled “Target audience”iDRS 15 is intended for developers who wish to integrate high-quality OCR, BCR and ICR technologies in their applications and take advantage of the new and improved features offered with the latest version of the iDRS™ SDK.
iDRS is available for integration on
- Windows as a C++ dll
- Windows as a .NET library.
- macOS X and iOS as a framework
- Linux as a .so library
- Android as a native library
Additional platforms can be supported upon specific project.
The present document covers information about Windows integration for C++ developers or .NET developers.
Main features
Section titled “Main features”iDRS SDK includes the following features:
Input & Output images
Section titled “Input & Output images”As an integrator, you can use the Imaging module to load the image(s) you want to recognize.
More technical information about the supported formats, the color modes and the limitations of each format can be found in the Data sheet.
Image enhancement
Section titled “Image enhancement”The quality of the image is very important for the recognition step.
When the image parameters are not correctly adjusted, e.g. when the image is scanned at a
wrong angle, having low image brightness, being cropped, containing noise or punched
holes, saturation and gamma, then the page recognition is highly affected.
In order to increase the recognition accuracy and also provide a better image compression,
we propose the Preprocessing module which corrects the image parameters.
This module must be used before the image recognition!
Optical Character Recognition (OCR)
Section titled “Optical Character Recognition (OCR)”The Optical character recognition module not only reads the page but also detects the text, table and graphics zones in order to convert them to editable and searchable text.
The recognition can be performed on page level (full-page text recognition) or on zonal level (zonal text recognition).
This module uses advanced recognition algorithms and lexicons in order to recognize 133 languages.
Intelligent Character Recognition (ICR)
Section titled “Intelligent Character Recognition (ICR)”The Intelligent Character Recognition (ICR) extension is used to read a page that contains
printed handwritten characters.
Barcode recognition
Section titled “Barcode recognition”The Barcode recognition module is used to perform the recognition of an image containing
barcodes.
The recognition can be performed on page level (full-page barcode recognition) or on zonal
level (zonal barcode recognition).
More technical information about the supported barcode types can be found in the Data sheet.
Document output
Section titled “Document output”After the recognition step, the Document output module can be used to save the recognized
text as a file in the formats listed in the Data sheet.
Multithread safety
Section titled “Multithread safety”Thanks to this feature, several tasks - or more formally ‘threads’ - can be executed at the same time.
Multithreading reduces the time needed for the execution of different tasks; for instance, the page recognition and PDF conversion.
However, be aware of some constraints: the OCR module can recognize many pages at the same time but the Document Output module needs the recognition results from all the pages before saving them as a PDF document.
The number of threads to be used depends on the integrator’s system capabilities.
In the case of page recognition, the multithread feature can be used to create several CPageRecognition objects in order to recognize many pages.
Furthermore, in certain cases, the multithread feature can be used for faster recognition of only one page: one CPageRecognition object may use several threads in order to recognize a single page.
Use the method SetWorkerThreadCount of the CPageRecognition class in order to define the number of threads you want to use.
32 and 64-bit software
Section titled “32 and 64-bit software”iDRS™ SDK provides native 32-bit and 64-bit support, meaning iDRS™ acts as a native 64-bit application on a 64-bit Operating System and as a native 32-bit application on a 32-bit Operating System.
SDK architecture
Section titled “SDK architecture”iDRS™ SDK is an object-oriented development toolkit. You can find detailed information on properties, methods and classes in the API REFERENCE.