WinSoft Optical Character Recognition 6.1 Full Source D5-XE Win32 XE2-XE7 Win32-Win64
Use OCR component to retrieve text from image, for example from scanned paper document.
uses Tesseract OCR engine and Leptonica image processing library available for Delphi/C++ Builder 5 - XE7 and Lazarus 1.2.6 source code included in full version royalty free distribution in applications
tesseract-ocr Tesseract is probably the most accurate open source OCR engine available. Combined with the Leptonica Image Processing Library it can read a wide variety of image formats and convert them to text in over 60 languages. It was one of the top 3 engines in the 1995 UNLV Accuracy test. Between 1995 and 2006 it had little work done on it, but since then it has been improved extensively by Google. It is released under the Apache License 2.0. https://code.google.com/p/tesseract-ocr/
Leptonica Library The library supports many operations that are useful on
Document images Natural images
Fundamental image processing and image analysis operations
Rasterop (aka bitblt) Affine transforms (scaling, translation, rotation, shear) on images of arbitrary pixel depth Projective and bilinear transforms Binary and grayscale morphology, rank order filters, and convolution Seedfill and connected components Image transformations with changes in pixel depth, both at the same scale and with scale change Pixelwise masking, blending, enhancement, arithmetic ops, etc.
I/O for standard image formats (jpg, png, tiff, bmp, pnm, gif, ps, pdf, webp) Utilities to handle arrays of image-related data types (e.g., pixa, boxa, pta) Utilities for stacks, generic arrays, queues, heaps, lists; number and string arrays; etc.
Examples of some applications enabled and implemented
Octcube-based color quantization (w/ and w/out dithering) Modified median cut color quantization (w/ and w/out dithering) Skew determination of text images Adaptive normalization and binarization Segmentation of page images with mixed text and images Location of baselines and local skew determination jbig2 unsupervised classifier Border representations of 1 bpp images and raster conversion for SVG Postscript generation (levels 1, 2 and 3) of images for device-independent output PDF generation (G4, DCT, FLATE) of images for device-independent output Connectivity-preserving thinning and thickening of 1 bpp images Image warping (captcha, stereoscopic) Image dewarping based on content (textlines) Watershed transform Greedy splitting of components into rectangles Location of largest fg or bg rectangles in 1 bpp images Search for least-cost paths on binary and grayscale images Barcode reader for 1D barcodes (very early version as of 1.55)
Efficient: image data is packed binary (into 32-bit words); operations on 32-bit data whenever possible Simple: small number of data structures; simplest implementations provided that are efficient Consistent: data allocated on the heap with simple ownership rules; function names usually begin with primary data structure (e.g., pix); simple code patterns throughout Robust: all ptr args checked; extensive use of accessors; exit not permitted Tested: thorough regression tests provided for most basic functions; valgrind tested Ansi C: automatically generated prototype header file Portable: endian-independent; builds in linux, osx, mingw, cygwin, windows Nearly thread-safe: ref counting on some structs Documentation: large number of in-line comments; web pages for further background Examples: many programs provided to test and show usage of approx. 2200 functions in the library