Comprehensive collection of optimised algorithms
The CVB Foundation Package builds on the power of CVB Image Manager and provides a powerful entry package for developers that require generic machine vision tools. The package includes the full functionality of CVB Image Manager complemented by a comprehensive set of general imaging algorithms, optimised to take advantage of modern acceleration techniques. In addition direct image access for other 3rd party libraries, such as Intel IPP and Open CV enables robust acquisition coupled with the widest choice of algorithms.
With the release of CVB 2018, parts of the Foundation Package are now supported under Linux on x86 and ARM platforms.
The comprehensive collection of optimised algorithms includes functions for edge detection, blob detection, statistical image analysis, image filtering, plus an extensive range of arithmetical and logical functions.
Analysing movement is an important but complex task in machine vision. It is challenging to calculate optical flow at realtime frame rates, so this is rarely seen in imaging libraries. In CVB, optical flow is an efficient algorithm capable of detecting less than 2 degrees of angle and 1/10 pixel movement in determining the distance moved.
The algorithm uses a blockmatching technique to determine the movement between images. By modifying the blocksize, it is possible to optimise an application for speed or resolution.
Applications for Optical Flow include any type of movement analysis and the display of local motion vectors. Examples include the bulk flow of materials in a production environment, robot cell monitoring and particle imaging velocimetry (PIV).
3D calibration is often a prerequisite before it is possible to perform any further analysis on 3D data. The Metric functionality in CVB Foundation uses a calibration target to remove distortions and transform from a pixel coordinate system to realworld units.
Metric allows a calibration result to be created, this can then be applied to incoming rangemap images using Image Manager core 3D functions, enabling calibrated pointclouds that can be analysed directly, or transformed back into "rectified rangemaps" for processing by 2D image processing tools.
The latest version of the CVB Foundation Package includes barcode reading functionality. ZXBarcode can read a variety of 1D and 2D symbologies and is particularly good at reading QR codes, even badly distorted ones.
For more demanding applications there is also a premium CVB Barcode tool with enhanced performance and includes barcode grading
Functions for the statistical evaluation of images
Quick and easy analysis of an image using statistical calculations such as mean value, standard deviation, etc. Ideally suited for evaluation of object completeness and presence checks, surface inspection (homogeneity, scratches, print, etc.), or the supervision of a camera image in regard to integration time, lighting, etc.
Functions for blob analysis and segmentation of objects
Counting and measurement of geometric dimensions of objects with coherent pixel areas (blobs). The surface area, diameter or position, orientation and shape parameters of any object can be determined using this algorithm. Especially useful for verification of shape completeness (i.e. drilling, junking), also known as connectivity.
Functions for edge detection
Optimised functions for subpixel edge detection and subsequent measurement of positions in an image. Regardless of whether single edges, edge pairs or multiple edges are concerned, the geometrical dimension of any object can be determined.
Functions for image arithmetic and logic
Extensive set of functions for pixel-level, arithmetic and logical combination of images. Allows easy image calibration, image averaging or image masking. Specific areas of an image can thus be hidden and spatial interferences can be removed.
Functions for superimposing destructive text overlays
This functionality allows the incorporation of user definable texts and numbers into any position within an image. The text replaces the original image data, making this function specially useful for adding timestamps, markings or other information for error tracking or archival purposes. Type styles can be selected using a wide range of fonts and styles and can be generated in different sizes and notations.
Functions for image filtering
Comprehensive collection of highly optimised filter algorithms for fast image preprocessing. The use of these filters makes it possible to intensify or attenuate certain image details in order to simplify or accelerate the subsequent analysis.
Functions for binarization using dynamic thresholding
The use of dynamic thresholding simplifies the processing of image data in situations with illumination variations. Using binarization, grey value images are translated into pure black & white images and the dynamic thresholding uses local thresholds that are automatically updated in case of local changes in illumination.
Functions for 2D-calibration of image data
Correction of distortion and optical aberrations arising from lens distortions or non-perpendicular viewing angles. After the calibration is defined, the algorithm produces corrected image data for further processing. This is an easy way to transform images on cylindrical surfaces for example.
Functions for colour processing
Depending on the image content and the analysis task, conversion of the original image into other colour spaces can simplify further processing. The functionality provides a number of highly optimised algorithms for segmentation of the input image into brightness, colour and saturation.