IEVision is an optional plugin for ImageEn which adds advanced features. IEVision is sold separately from ImageEn. It can be purchased from:

Feature Description More Info Demo
OCR Optical character recognition supporting more than 100 languages TIEVisionOCR Demos\IEVision\OCR\OCR.dpr
Barcode Reading Reading barcodes in images and videos, with support for EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR Code TIEVisionBarCodeScanner Demos\IEVision\Barcode\Barcode.dpr
Facial Recognition Searching for known faces TIEVisionFaceRecognizer Demos\IEVision\FaceRecognizer\FaceRecognizer.dpr
Human and Object Detection Finding people, faces, eyes, glasses, smile, body (full/upper/lower), cat faces and Russian number plates TIEVisionObjectsFinder Demos\IEVision\GetFaces\GetFaces.dpr
Track Objects Tracking (following) faces and objects in a video TIEVisionObjectTracker Demos\IEVision\TrackObjects\TrackObjects.dpr
Classifying Images Image classification by training with positive and negative samples TIEVisionCascadeClassifierTrainer Demos\IEVision\TrainCascadeClassifier\TrainCascadeClassifier.dpr
Matching within Image Searching an image for matches based on a source image TIEVisionImage.matchTemplate Demos\IEVision\PatternMatching\PatternMatching.dpr
Blob Detection Locating blobs/shapes within an image TIEVisionBlobDetector Demos\IEVision\BlobDetection\BlobDetection.dpr
Photo Stitching Generating a single image from multiple source images TIEVisionStitcher Demos\IEVision\Stitcher\Stitcher.dpr
Image Patching Inpainting images to hide blemishes and copy content TIEVisionImage.inpaint Demos\IEVision\Inpaint_Brush\Inpaint_Brush.dpr
Searchable PDF Generation Convert images containing text to searchable PDF files TIEVisionSearchablePDFGenerator Demos\IEVision\GenerateSearchablePDF\GenerateSearchablePDF.dpr
Watershed Automatic Selection Automatic selection of objects by painting TIEVisionWatershed Demos\IEVision\WatershedSelection\WatershedSelection.dpr
Grabcut Automatic Selection Automatic selection of the main subject within an image TIEVisionGrabCut Demos\IEVision\GrabCutSelection\GrabCutSelection.dpr
Video Background Removal Live replacement of the background of a video stream TIEVisionBackgroundSubtractor Demos\IEVision\BackgroundSubtract\BackgroundSubtract.dpr
Denoising Removal of digital noise using the "Non-local Means" algorithm fastNlMeansDenoisingColored Demos\IEVision\BarCodeCam\Denoising.dpr
Edge Detection Detection of edges within an image using the "Canny" algorithm TIEVisionImage.canny Demos\IEVision\LinesDetect\LinesDetect.dpr
Line Detection Detection of lines within an image using Hough transformations TIEVisionImage.houghLinesP Demos\IEVision\LinesDetect\LinesDetect.dpr
Other Advanced Image Algorithms Blurring, Smoothing, Dilation, Erosion and Threshold TIEVisionImage  



Face Detection

Facial Recognition

Object Tracking

Image Matching

Photo Stitching

Blob Detection

Classifier Training

Watershed Selection

In order to use IEVision you must copy the IEVision DLL to the same folder as your executable or in any location in the system path.
You can check if the IEVision DLL is accessible by ImageEn calling IEVisionAvailable function. For example:

if not IEVisionAvailable() then
  ShowMessage('This application requires the IEVision.dll plugin');

The ievision unit exports all interfaces and global methods, plus the IEVisionLib public field which encapsulates the factory class TIEVisionLibrary.

It is possible to encapsulate an ImageEn bitmap (TIEBitmap) inside a IEVision bitmap (TIEVisionImage), but it is necessary to change the TIEBitmap origin. For example:

ImageEnView1.IEBitmap.Origin := ieboTOPLEFT;
image := IEVisionLib.createImage(ImageEnView1.IEBitmap.Width, ImageEnView1.IEBitmap.Height,
                                 ievUINT8, 3, ImageEnView1.IEBitmap.Rowlen,

This way you can use all IEVision functions sharing the results to a TImageEnView embedded image. It is also possible to create an IEVision image from scratch and then copy it to TIEBitmap or TImageEnView.

An alternative way is to use GetIEVisionImage which sets the bitmap origin and pixelformat for you:

image := ImageEnView1.IEBitmap.GetIEVisionImage();

All IEVision objects are implemented as COM objects, so you don't need to handle object destruction (it is done automatically at runtime).
For example, if you create an IEVision image with:

image := IEVisionLib.createImage(1000, 1000, ievUINT8, 3);

You don't need to free or dispose it.