 |
|
|
Open eVision Libraries
|
|
|
|
General-Purpose Libraries
|
|
Mark Inspection Libraries
|
|
|
Open eVision includes a set of six general-purpose libraries:
|
|
These robust and automatic libraries support a large range of fonts, standards or symbol types.
|
|
|
EasyImage
|
Image processing
|
|
EasyOCV
|
Optical Character Verification
|
|
EasyColor
|
Color calibration and transformation
|
|
EasyOCR
|
Optical Character Recognition
|
|
EasyObject
|
Blob analysis
|
|
EasyBarCode
|
Bar Code reading
|
|
EasyMatch
|
Standard pattern matching
|
|
EasyMatrixCode
|
Data Matrix 2D code reading
|
|
EasyFind
|
Geometric pattern matching
|
|
|
EasyGauge
|
Sub-pixel measurement and dimension control
|
|
|
|
|
Open to All Image Sources
|
|
|
|
The images to be processed may come from a frame grabber, a scanner, a file, or IEEE1394 (Firewire), GigE Vision or USB cameras. Color and monochrome images are supported.
|
|
|
|
|
NEW
Support of the previous Open eVision and eVision APIs
|
|
Open eVision 1.2 comes with an alternate set of C++ headers and an ActiveX component that allows developing
or porting code against the older API that was supplied with eVision 6.7.1 (and lower) and Open eVision 1.0.
See the "Migration Guide" pdf document for detailed information.
|
|
|
|
Sub-pixel Accuracy and Calibration
|
|
Accuracy is of prime importance to most machine vision applications. To meet this requirement, Open eVision’s
metrology (EasyGauge), blob analysis (EasyObject), standard pattern matching (EasyMatch) and geometric pattern matching
(EasyFind) functions all return results with sub-pixel accuracy.
|
|
To further increase the precision of the measurements, Open eVision includes an extensive set of calibration
functions. These functions, after a calibration phase that can be performed from the image of a precise dot grid
or from a list of point coordinates, compensate all measurements for lens distortion (correction of pin cushioning,
barreling), non-square pixels (correction of the pixel aspect ratio) and rotation and perspective distortions.
|
|
They also provide the capability of working in real-world measurement units (such as mils, microns or millimeters),
and support the conversion of coordinates from pixel coordinates to real-world coordinates and vice-versa.
|
|
|
|
Saving and Loading Images
|
|
Open eVision supports loading and saving images from/to the disk. In addition to the existing image formats
-BMP, JPEG, TIFF- Open eVision now supports JPEG-2000, PNG (a supports lossless compression) and Serialized
(proprietary image file format obtained from the serialization of the Open eVision image objects) formats.
|
|
On top of this, Open eVision includes an automatic conversion of the file format regardless of the pixel format
from an image on the disc into the best matching Open eVision image object type.
|
|
|
|
Regions of Interest and Flexible Masks
|
|
The processing speed of an image can be accelerated by focusing on a specific
region of the image (Region of Interest) avoiding interferences from the
remainder of the image. The number of pixels to consider is then reduced.
|
|
The processing of all Open eVision functions can be
restricted to a Region of Interest (ROI). Open eVision
supports nested rectangular ROIs, which are organized
in a hierarchical way in each image.
|
|
|
To add flexibility to the shape of the ROI, Open eVision
supports Flexible Masks for selected functions of the
EasyObject and EasyImage libraries. A mask represents
a two-class segmentation of pixels which separates
the associated image in do-care areas (that must
be considered) and don’t-care areas (that should not be
considered). Flexible masks support complex and disconnected
shapes.
|
|
|
|
|
|
|
Image and Graphic Display
|
|
Open eVision also includes functions to help display the result of the image analysis, and provide interactivity
with the user. For example, Regions Of Interest, EasyGauge measurement gauges, blobs computed with
EasyObject, patterns located with EasyMatch and EasyFind, characters and codes read with EasyOCR, Easy-
MatrixCode and EasyBarCode can easily be displayed on top of the image.
|
|
|
|
Improved Execution Time Thanks to SSE2 Technology
|
|
|
|
Debugging and Profiling Functions
|
|
Open eVision supports modern error tracing functions, and provides precise execution time measurement functions for application profiling.
|
|
|
|
Thread-Safety
|
|
Open eVision is multi-thread safe. This means that it is designed to support simultaneous
execution by multiple threads on the same CPU. This is particularly suitable if your application includes
independent tasks and allows them to be executed simultaneously. But this also requires that your application
accepts sharing piece of data to be accessed by only one thread at any given time. Then, you can design such
applications so that each part is controlled by a separate thread. As many threads as required can be created.
|
|
|
|
Supported Environments
|
|
Open eVision are 64-bit and 32-bit libraries that require a processor compatible with the x86 instruction set, with
MMX extensions. If the SSE or SSE2 extensions are present, they are used, but they are not required.
|
|
|
|
|