Image Processing Toolbox supports images and video generated by a wide range of devices, including webcams, digital cameras, satellite and airborne sensors, medical imaging devices, microscopes, telescopes, and other scientific instruments. You can use functions and apps to visualize, analyze, and process these images in many data types.
With Image Acquisition Toolbox™ you can acquire live images and video from frame grabbers, GigE Vision cameras, DCAM cameras, and other devices.
It also supports the multiband image formats BIP and BIL, as used by LANDSAT. Low-level I/O and memory mapping functions enable you to develop custom routines for working with any data format.
Image Processing Toolbox supports a number of specialized image file formats. For medical images, it supportsDICOM files, including associated metadata, as well as the Analyze 7.5 and Interfile formats. The toolbox can also read geospatial images in NITF files and high dynamic range images in HDR files.
The toolbox provides a suite of image processing apps to explore and discover various algorithmic approaches. With the Color Thresholder app, you can segment an image based on various color spaces. The Image Viewer app lets you interactively place and manipulate ROIs, including points, lines, rectangles, polygons, ellipses, and freehand shapes. You can also view pixel information, pan and zoom, adjust contrast, and measure distances. Alternatively, you can perform these tasks programmatically and use individual functions to create custom interfaces.
The toolbox includes specialized filtering routines and a generalized multidimensional filtering function that handles integer image types, offers multiple boundary-padding options, and performs convolution and correlation.
Using predefined filters and functions you can:
Image deblurring algorithms in Image Processing Toolbox include blind, Lucy-Richardson, Wiener, and regularized filter deconvolution, as well as conversions between point spread and optical transfer functions. These functions help correct blurring caused by out-of-focus optics, movement by the camera or the subject during image capture, atmospheric conditions, short exposure time, and other factors. All deblurring functions work with multidimensional images.
Image analysis is the process of extracting meaningful information from images such as finding shapes, counting objects, identifying colors, or measuring object properties.
Image transforms play a critical role in many image processing tasks, including image enhancement, analysis, restoration, and compression. Image Processing Toolbox provides several image transforms, including Hough, Radon, FFT, DCT, and fan-beam projections. You can reconstruct images from parallel-beam and fan-beam projection data (common in tomography applications).
Image transforms are also available in MATLAB and Wavelet Toolbox™.
The Hough transform is designed to identify lines and curves within an image. Using the Hough transform you can:
Device-independent color management enables you to accurately represent color independently from input and output devices. This is useful when analyzing the characteristics of a device, quantitatively measuring color accuracy, or developing algorithms for several different devices. With specialized functions in the toolbox, you can convert images between device-independent color spaces, such as sRGB, XYZ, xyY, L*a*b*, uvL, and L*ch.
Image segmentation algorithms determine region boundaries in an image. You can explore many different approaches to image segmentation, including progressive methods, automatic thresholding, edge-based methods, and morphology-based methods such as the watershed transform that is often used to segment connected objects.
Edge-detection algorithms let you identify object boundaries in an image. These algorithms include the Sobel, Prewitt, Roberts, Canny, and Laplacian of Gaussian methods. The Canny method can detect true weak edges without being fooled by noise.
Image registration is important in remote sensing, medical imaging, and other applications in which images must be aligned to enable quantitative analysis or qualitative comparison. Image Processing Toolbox supports intensity-based image registration, which automatically aligns images using relative intensity patterns.
The toolbox also supports control-point image registration, which requires the manual selection of control points in each image to align two images.
Additionally, Computer Vision System Toolbox™ supports feature-based image registration, which automatically aligns images using feature detection, extraction, and matching followed by geometric transformation estimation.
Intensity-based image registration maps specific pixels in separate images based on relative intensity. This registration technique is often well suited for medical imagery when it’s necessary to automate large collections of images.
Control-point image registration requires the manual selection of control points in two images in order to align them. This method of registration is best suited for images that have distinct features such as satellite imagery.
Geometric transformations are useful for tasks such as rotating an image, reducing its resolution, correcting geometric distortions, and performing image registration. Image Processing Toolbox supports simple operations, such as resizing, rotating, and cropping, as well as more complex 2D geometric transformations, such as affine and projective
The toolbox also provides a flexible framework for creating and applying customized geometric transformations and interpolation methods for N-dimensional arrays.
Image Processing Toolbox provides workflows specifically for working with large images that are difficult to process and display with standard methods. You can create a reduced-resolution data set (R-Set) that divides an image into spatial tiles and resamples the image at different resolution levels without loading a large image entirely into memory. Using this workflow improves image display and navigation performance. You can use a block processing workflowto apply a function to each distinct block of a large image, significantly reducing memory use.
By using Image Processing Toolbox with MATLAB Coder™, Vision HDL Coder™, and HDL Coder™, you can generate C, C++, and HDL code directly from MATLAB. Many image processing functions support code generation, allowing you run image processing algorithms on PC hardware, FPGAs, and ASICs. This enables you to develop imaging systems for the medical, aerospace, and defense fields.