32/64-bit Windows XP / 2003 / Vista / 2008 / 7 / 8, 32/64-bit Linux, Mac OS X 10.7 / 10.8, and several embedded platforms.
Image Acquisition Devices
Windows XP / Vista / 7: IIDC 1394 Standard All IIDC 1394 compliant cameras, ABS ABS UK1000/3000 cameras, ADLINK CPL64, Andor Andor cameras, BitFlow Alta & Karbon & Neon & Raven & RoadRunner & R3 & R64 & R64e, Crevis Crevis USB 2.0 cameras, Daheng Group USB 2.0 cameras & IEEE 1394 cameras, Microsoft AVI files via DirectShow File Reader API All capture devices via DirectShow API, MVTec Reading files via virtual acquisition interface, GenICam GenTL Standard All GenICam GenTL compliant devices, GigE Vision Standard All GigE Vision compliant cameras, LinX GINGA++M2 & GINGA++M4 & GINGA digital, Mikrotron INSPECTA-3 & INSPECTA-4 & INSPECTA-5, LinX GINGA digital-CLe & GINGA++Me, Leuze electronic LPS 36 sensor, Lumenera USB 2.0 and GigE cameras, MATRIX VISION mvBlueFOX & mvBlueCOUGAR & mvBlueLYNX-M7 & mvHYPERION & mvGAMMA & mvTITAN & mvSIGMA & mvDELTA, Matrox Helios & Meteor-II & Morphis & Odyssey & Solios & Vio, Euresys DOMINO & GRABLINK & PICOLO & QUICKPACK, OpenNI Microsoft Kinect & ASUS Xtion PRO, Opteon Opteon imaging systems, ELTEC p3i_ASYNC & p3i_MONO & p3i_QUADRO & p3i_RGB & PC_EYE/CL, PixeLINK PixeLINK IEEE 1394, USB, and GigE cameras, Basler ace & aviator & pilot & runner & scout, Teledyne DALSA Bandit-II & PC2-CamLink & PC2-Vision & Viper & X64-AN & X64-CL & Xcelera-CL & Genie GigE Vision cameras, Sentech STC USB cameras, ShapeDrive SD series 3D sensors, SICK Ranger C & Ranger D & Ranger E & Ruler E & ColorRanger E, Silicon Software microEnable III & microEnable IV-A & microEnable IV-V, Sony XCI-SX100/C & XCI-V100/C, MESA Imaging SR4000 ToF cameras, TWAIN All capture devices with TWAIN driver, IDS uEye cameras, VRmagic VRmagic imaging devices
Linux (x86): IIDC 1394 Standard All IIDC 1394 compliant cameras, MVTec Reading files via virtual acquisition interface, GenICam GenTL Standard All GenICam GenTL compliant devices, GigE Vision Standard All GigE Vision compliant cameras, Leuze electronic LPS 36 sensor, MATRIX VISION mvBlueFOX & mvBlueCOUGAR & mvBlueLYNX-M7 & mvHYPERION & mvGAMMA & mvTITAN & mvSIGMA & mvDELTA, IDS uEye cameras, Video4Linux2 All video capture devices with V4L2 driver
Additional image acquisition devices can be integrated easily. For other architectures see here.
Image File Formats
AVI, binary, BMP, GIF, JPEG, JPEG-2000, JPEG XR, PCX, PNG, PNM, Sun-Raster, TIFF, XWD.
Image enhancement: Contrast enhancement, illumination correction, scaling, histogram equalization.
Smoothing: Edge-preserving and enhancing smoothing, Gaussian smoothing, binomial filter, mean filter, rank filters (median, separated median, weighted median, etc.), midrange filter, sigma filter, trimmed mean, salt and pepper noise elimination, recursive smoothing filters.
Edge filters: Canny, Deriche, Lanser, Shen, Frei, Kirsch, Roberts, Prewitt, Robinson, Sobel, Laplace, difference of Gaussians, derivatives of Gaussians, edge closing.
Point filters: Förstner, Harris, Lepetit, Sojka point extractors with subpixel accuracy.
Inpainting: Restoration of missing image information.
Texture: Laws filters (3x3, 5x5, 7x7), deviation, entropy.
Arithmetic: Scaling, addition, subtraction, multiplication, absolute value, maximum, minimum, inversion, square root, trigonometric functions, logarithm, exponential, power.
Color transformations: CIElab, hsv, hsi, yiq, yuv, CIExyz, hls, ihs, etc.
Fourier transform: Extremely fast FFT; Gaussian, mean, derivative, Gabor, bandpass, highpass, lowpass filters; energy, phase, power.
Hough transformation: Lines, circles.
Miscellaneous filters: User-defined filters, dot filter, gray skeleton, principal components, topographic sketch, Gauss pyramid, type conversion.
Subpixel Edge & Line Extraction
Canny, Deriche, Lanser, and Sobel edge detectors; facet model and Steger line detectors with an accuracy of up to 1/50 pixel; subpixel color edge and line detectors; subpixel threshold.
Subpixel Contour Processing
Contour processing: Affine and projective transformations; segmentation into and fitting of lines, circles, ellipses, and rectangles; merging of collinear contours; set operations (union, intersection, difference); creation of different standard shapes (circle, ellipse, line, rectangle).
Shape features: Area, center, orientation, circularity, compactness, contour length, convexity, elliptic axis, moments (arbitrary order), eccentricity, hulls (convex, circle, rectangle), selection of contours based on shape features.
Edge Position Measurement
Subpixel edge extraction along lines and circular arcs; automatic selection of edges (first, last, all, rising, falling, pairs); evaluation functions for selecting edges and edge pairs; measurement of standard shapes (circle, ellipse, line, rectangle).
Threshold: Range, local, automatic.
Region processing: Connected components, skeleton, junctions, end points, set operations (intersection, difference, union, complement), hulls (rectangle, circle, ellipse, convex), filling of holes, region generation (rectangle, circle, ellipse, polygon, checker, grid, random), access (runlength encoding, chain code, contour, polygons).
Gray value features: Minimum, maximum, mean, deviation, co-occurrence, histogram, entropy, fuzzy features, gray moments.
Shape features: Area, center, orientation, circularity, rectangularity, compactness, number of holes, contour length, convexity, elliptic axis, moments (2nd and 3rd), eccentricity, Hamming distance, hulls (circle, rectangle), distance, spatial relations, Euler number.
Threshold: Color, hysteresis.
Regiongrowing: Gradient, mean value, color, texture.
Classification: Classifiers using multi-layer perceptron neural nets, support vector machines, Gaussian mixture models or n-dimensional boxes and spheres, k-nearest neighbors.
Variation model: Segmentation based on a reference image and trained tolerated variations of good objects.
Binary: Minkowski addition/subtraction, dilation, erosion, opening, closing, hit-or-miss, boundary, pruning, thickening, thinning, distance transformation, closest-point transformation.
Gray value: Watersheds; dilation, erosion, opening, closing with subpixel mask sizes.
Multi-layer perceptron neural net classifier; support vector machine classifier; Gaussian mixture models classifier; clustering with n-dimensional boxes and spheres for data sets with a non-normal distribution; k-nearest neighbors classifier; automatic feature selection
Rotation, scaling, translation, mirroring, cropping; affine, perspective, and polar transformations; approximation of transformations from point correspondences and angles; image mosaicking including automatic point matching; rectification of complex image distortions; tiling of multiple images into a single image; merging of regions and contours from adjacent line scan images.
Gray-value-based, correlation-based, shape-based, perspective deformable, local deformable, descriptor-based, and component-based matching with arbitrary template size and shape; robust recognition of rotated, scaled (incl. anisotropic scaling), cluttered, or partially occluded objects, even under changing illumination conditions; matching in color and multi-channel images; recognition of different objects or objects with parts that can move with respect to each other in a single call; creation of synthetic models, e.g., from polygon data; automatic determination of model parameters.
Creation of 3D models from DXF, OBJ, OFF, PLY, STL CAD files; shape-based matching with arbitrary 6-DOF pose in 3D; robust recognition of cluttered or partially occluded objects, even under changing illumination conditions; surface-based 3D matching.
Bar code: EAN 13, EAN 8, UPC-A, UPC-E, 2/5 Industrial, 2/5 Interleaved, Codabar, Code 39, Code 93, Code 128, PharmaCode, GS1 DataBar, bar code print quality inspection (ISO/IEC 15416).
Data code: ECC 200 (Data Matrix), QR Code, Micro QR Code, Aztec Code, PDF417 code, data code print quality inspection (ISO/IEC 15415 and AIM DPM-1-2006).
Sample-based: Identification based on sample images.
Optical Character Recognition
Character-based recognition, specialized segmentation, rotation elimination, trainable classifiers for custom fonts, selectable features, pre-trained classifiers for many applications.
Optical Character Verification
Gray-value based pattern comparison; invariant with respect to illumination, position, and size changes.
Calibration of the response curve of the image acquisition device to increase the accuracy of subpixel measurements.
Calibration of internal and external camera parameters from multiple images for pinhole and telecentric area scan cameras as well as line scan cameras; self-calibration of rotating cameras and of lense distortions; correction of lens distortions for images, contours, and points; transformation of contours and points into world coordinates; rectification of images (removal of lens and perspective distortions); hand-eye calibration. Note that you can buy high-precision calibration plates from MVTec.
3D Object Processing: Registration; surface comparison; uniform sampling; triangulation; connected components; intersection (with plane, region).
Multi-view stereo: Multi-view calibration, automatic determination of relative camera pose, image rectification, calculation of depth or disparity with subpixel accuracy; multi-view 3D reconstruction; support of cameras with telecentric lenses.
Further methods: Depth from focus; sheet of light; photometric stereo, segmentation and fitting of 3D primitives (planes, cylinders, spheres); extraction of the 3D position of circles and rectangles.
Background estimation, optical flow.
Exchange of images, regions, XLD, and control data between HALCON processes. Generic socket communication for data exchange with arbitrary systems.
Objects; handles; tuples.
Reading and writing of data.
Kalman Filter: Estimation of current and future states in an image sequence.