Image Processing Toolbox™ supports images and video generated by a wide range of devices, including medical imaging devices, microscopes, telescopes, and other scientific instruments.
MATLAB® supports standard data and image formats. It also supports the multiband image formats BIP and BIL, as used by LANDSAT. Image Processing Toolbox supports DICOM files, 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.
With Image Acquisition Toolbox™, you can acquire live images and video from frame grabbers, GigE Vision® cameras, DCAM cameras, and other devices.
The toolbox provides a suite of image processing apps to explore and discover various algorithmic approaches. Each app enables automatic MATLAB code generation and the ability to capture interactive steps programmatically, which is beneficial in automating multi-image workflows.
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.
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.
The 3D Volume Visualization app offers ways to explore a 3D volume by offering different visualization methods to explore the structure of the data. You can map the pixel intensity of a 3D volume to opacity to highlight a specific region within the volume.
Image Processing Toolbox supports 3D-specific functions, in addition to many ND functions that enable complete image processing workflows with 3D data.
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.
You can calculate the properties of regions in images, such as area, centroid, bounding box, and orientation. Use the Image Region Analysis App to automatically count, sort, and remove regions based on properties.
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 different approaches to image segmentation including multilevel automatic thresholding, iterative approaches such as fast marching and active contours, and color-based and intensity-based methods. All of these techniques can be explored interactively in the segmentation apps.
Image Processing Toolbox supports intensity-based image registration, which automatically aligns images using relative intensity patterns. You can perform multimodal 3D registration and also perform non-rigid registration. You can visually inspect results by creating composite images that highlight misalignments.
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.
You can automatically generate C, C++, and HDL code directly from MATLAB using Image Processing Toolbox with MATLAB Coder™, Vision HDL Toolbox™, and HDL Coder™. Many image processing functions support code generation, enabling you to run image processing algorithms on PC hardware, FPGAs, ASICs, and embedded hardware.
With features such as the MATLAB Engine API, MATLAB can be used to visualize, verify, and prototype functionality natively from environments such as Visual Studio® and Eclipse™.