


VisionKit supports image acquisition from any Microsoft DirectShow-compliant digital camera or frame-grabber.
VisionKit supports various color spaces, such as Grayscale, RGB, HSV, and YUV, as well as the ability to convert between formats. High-precision image buffers are also supported for intermediate computations or special-purpose applications.
VisionKit provides many optimized routines for image convolution, including Gaussian, Laplacian, box filter, binomial filter, partial derivatives, and corner response function.
VisionKit provides Gabor and steerable filter banks for image feature extraction.
VisionKit can compute image histograms and analyze the results to provide adaptive thresholds for image segmentation.
Many well-known computer vision algorithms are available to analyze imagery for specific purposes, such as straight-line detection, active contour-based boundary extraction, edge orientation histograms, and grayscale moments.
VisionKit provides capability to efficiently display images in an OpenGL buffer. After additional rendering is performed by OpenGL, the buffer may be re-imported back into a VisionKit image buffer.
Several algorithms for enhancing image quality are available, including noise removal techniques such as median filtering and deinterlacing, as well as contrast enhancement.
VisionKit supports input and output of several standard image and video data formats, including JPEG, TIFF, and AVI. Image data may also be imported from a raw memory buffer.
VisionKit supports the construction of image pyramids, which are used by many image processing and computer vision algorithms.
Integral images are used to compute Haar-like image features, useful in a variety of applications such as object detection and recognition.
VisionKit provides algorithms for image arithmetic, such as addition, subtraction, absolute value, and bit shifting. Logical operations are also supported, including thresholding, binary AND, OR, XOR, and negation.
VisionKit provides many mathematical routines commonly used in computer vision systems. This includes a number of matrix and vector operations, such as addition, multiplication, dot and cross product, vector correlation, transformations, Eigen system analysis, matrix inversion, and singular value decomposition.
VisionKit provides a number of routines for binary morphological processing, such as dilation, erosion, top-hat, bottom-hat, majority, and skeletonization.
VisionKit contains a fast algorithm to compute the optical flow between two images using a coarse-to-fine image pyramid.
VisionKit provides a fast implementation of connected-components to extract and label image regions. Routines are also available to extract several types of image features from regions, such as centroid, bounding box, compactness, perimeter, and moments.
VisionKit provides the ability to compute sub-pixel values using bilinear interpolation.
VisionKit provides functionality to warp an image using a user-defined 3x3 transformation matrix.
