Key Features

  • Image analysis, including segmentation, morphology, statistics, and measurement
  • Apps for image region analysis, image batch processing, and image registration
  • 3D image processing workflows, including visualization and segmentation
  • Image enhancement, filtering, geometric transformations, and deblurring algorithms
  • Intensity-based and non-rigid image registration methods
  • Support for CUDA-enabled NVIDIA GPUs (with Parallel Computing Toolbox™)
  • C-code generation support for desktop prototyping and embedded vision system deployment
The abundance of cameras has created overwhelming amounts of image and video data, and the demand for image processing has only increased in order to decipher and understand the data.

Exploration and Discovery

Acquiring and Importing Data

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.

Apps for Exploration and Discovery

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.

Image Preprocessing

Image Enhancement

Image enhancement techniques in Image Processing Toolbox enable you to increase the signal-to-noise ratio and accentuate image features by modifying the colors or intensities of an image.

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 custom or predefined filters and functions you can remove noise, adjust contrast, and remap the dynamic range.

Morphological Operators

Morphological operators enable you to enhance contrast, remove noise, thin regions, or perform skeletonization on regions. Image Processing Toolbox includes a comprehensive set of morphological operations.

Image Deblurring

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.

3D Image Processing Workflows

3D Visualization

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.

3D Processing

Image Processing Toolbox supports 3D-specific functions, in addition to many ND functions that enable complete image processing workflows with 3D data.

Image Analysis

Edge Detection

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 Region Analysis

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.

Hough Transform

The Hough transform is designed to identify lines and curves within an image. Using the Hough transform you can:

  • Find line segments and endpoints
  • Measure angles
  • Find circles based on size

Statistical Functions

Statistical functions let you analyze the general characteristics of an image by:

Color Space Conversion

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

Image Segmentation Techniques

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.

Morphological Operators

Morphological operators enable you to detect edges, segment an image into regions, or perform skeletonization on regions. Morphological functions in Image Processing Toolbox include:

Image Registration

Image Registration Methods

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.

Acceleration and Deployment

Target Hardware

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™.

Connect MATLAB and Simulink to Hardware

GPU Acceleration

To take advantage of the performance benefits offered by graphics processing units (GPUs), many image processing functions are GPU-enabled to accelerate computationally intensive workflows. Use Parallel Computing Toolbox™ to improve performance with GPUs and multicore processors.