Introduction
Image Processing Toolbox™ provides a comprehensive set of reference-standard algorithms and graphical
tools for image processing, analysis, visualization, and algorithm development. You can perform image
enhancement, image deblurring, feature detection, noise reduction, image segmentation, spatial
transformations, and image registration. Many functions in the toolbox are multithreaded to take advantage
of multicore and multiprocessor computers.
Image Processing Toolbox supports a diverse set of image types, including high dynamic range, gigapixel
resolution, ICC-compliant color, and tomographic images. Graphical tools let you explore an image, examine
a region of pixels, adjust the contrast, create contours or histograms, and manipulate regions of interest
(ROIs). With the toolbox algorithms you can restore degraded images, detect and measure features,
analyze shapes and textures, and adjust the color balance of images.
Introduction to Image Processing Toolbox 4:44
Key Features
Image enhancement, filtering, and deblurring
Image analysis, including segmentation, morphology, feature extraction, and measurement
Spatial transformations and image registration
Image transforms, including FFT, DCT, Radon, and fan-beam projection
Workflows for processing, displaying, and navigating arbitrarily large images
Modular interactive tools, including ROI selections, histograms, and distance measurements
ICC color management
Multidimensional image processing
Image-sequence and video display
DICOM import and export
Next
Free Image and Video Processing Interactive Kit
See how to acquire, process, and analyze images and video for algorithm development and system design.
Get free kit
Trials Available
Try the latest image and video processing products.
Get trial software
Displaying and Exploring Images
Image Processing Toolbox extends MATLAB graphics to provide image display capabilities that are highly customizable.
You can create displays with multiple images in a single window, annotate displays with text and graphics, and create
specialized displays such as histograms, profiles, and contour plots.
In addition to display functions, the toolbox provides a suite of interactive tools for exploring images and building GUIs.
You can view image information, zoom and pan around the image, and closely examine a region of pixels. You can
interactively place and manipulate ROIs, including points, lines, rectangles, polygons, ellipses, and freehand shapes. You
can also interactively crop, adjust the contrast, and measure distances. The suite of tools is available within Image Tool or
from individual functions that can be used to create customized GUIs.
A typical interactive session using Image Tool. The Overview window (left) is used to navigate when looking at magnified views in
the Image Tool. The Pixel Region window (right) superimposes pixel values on a highly magnified view. LANDSAT image of Paris
courtesy of Space Imaging, LLC.
Using region-of-interest tools to create a mask. Items in the original image (top) are selected to create the mask (bottom).
The toolbox includes tools for displaying video and sequences in either a time-lapsed video viewer or an image montage.
Volume visualization tools in MATLAB let you create isosurface displays of multidimensional image data sets.
Video viewer paused on an individual frame of a video sequence.
Preprocessing and Postprocessing Images
Image Processing Toolbox provides reference-standard algorithms for preprocessing and postprocessing tasks that solve
frequent system problems, such as interfering noise, low dynamic range, out-of-focus optics, and the difference in color
representation between input and output devices.
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. You can:
Perform histogram equalization
Perform decorrelation stretching
Remap the dynamic range
Adjust the gamma value
Perform linear, median, or adaptive filtering
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. Predefined
filters and functions for designing and implementing your own linear filters are also provided.
Performing connected components analysis on an image with nonuniform background intensity using MATLAB and Image
Processing Toolbox.
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 of the sun using deblurring algorithms. Image courtesy of the SOHO EIT Consortium.
Device-independent color management in Image Processing Toolbox 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.
For more flexibility and control, the toolbox supports profile-based color space conversions using a color management
system based on ICC version 4. For example, you can import n-dimensional ICC color profiles, create new or modify
existing ICC color profiles for specific input and output devices, specify the rendering intent, and find all compliant profiles
on your machine.
Image transforms such as FFT and DCT play a critical role in many image processing tasks, including image
enhancement, analysis, restoration, and compression. Image Processing Toolbox provides several image transforms,
including Radon 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™.
Image conversions between data classes and image types are a common requirement for imaging applications. Image
Processing Toolbox provides a variety of utilities for conversion between data classes, including single- and double-
precision floating-point and signed or unsigned 8-, 16-, and 32-bit integers. The toolbox includes algorithms for conversion
between image types, including binary, grayscale, indexed color, and truecolor. Specifically for color images, the toolbox
supports a variety of color spaces (such as YIQ, HSV, and YCrCb) as well as Bayer pattern encoded and high dynamic
range images.
Analyzing Images
Image Processing Toolbox provides a comprehensive suite of reference-standard algorithms and graphical tools for
image analysis tasks such as statistical analysis, feature extraction, and property measurement.
Statistical functions let you analyze the general characteristics of an image by:
Computing the mean or standard deviation
Determining the intensity values along a line segment
Displaying an image histogram
Plotting a profile of intensity values
Image with histogram for the red channel.
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 powerful Canny method can detect true weak edges without
being "fooled" by noise.
Image segmentation algorithms determine region boundaries in an image. You can explore many different approaches
to image segmentation, including automatic thresholding, edge-based methods, and morphology-based methods such as
the watershed transform, often used to segment touching objects.
Detection and outlining of an aircraft using segmentation and morphology.
Morphological operators enable you to detect edges, enhance contrast, remove noise, segment an image into regions,
thin regions, or perform skeletonization on regions. Morphological functions in Image Processing Toolbox include:
Erosion and dilation
Opening and closing
Labeling of connected components
Watershed segmentation
Reconstruction
Distance transform
Image Processing Toolbox also contains advanced image analysis functions that let you:
Measure the properties of a specified image region, such as the area, center of mass, and bounding box
Detect lines and extract line segments from an image using the Hough transform
Measure properties, such as surface roughness or color variation, using texture analysis functions
Spatial Transformations and Image Registration
Spatial transformations modify the spatial relationships between pixels in an image and are useful for tasks such as
rotating an image, creating thumbnails, correcting geometric distortions, and performing image registration. Image
Processing Toolbox supports common transformational operations, such as resizing, rotating, and interactive cropping of
images, as well as generalized transformations for arbitrary-dimensional arrays.
Image registration is important in remote sensing, medical imaging, and other applications where images must be aligned
to enable quantitative analysis or qualitative comparison. Using Image Processing Toolbox, you can interactively select
points in a pair of images and align the two images by performing a spatial transformation, such as linear conformal,
affine, projective, polynomial, piecewise linear, or local weighted mean. You can also perform image registration using
normalized 2D cross-correlation.
Choosing control points to register an aerial photo to an orthophoto. The Control Point Selection Tool helps you select landmark
points and align images (result, bottom). Color aerial photo (top left) courtesy of mPower3/Emerge. Grayscale orthophoto (top
right) courtesy of MassGIS.