You are on page 1of 6

Image Processing Toolbox 3

for image processing, analysis, and algorithm development

The Image Processing Toolbox extends


the MATLAB® computing environment to
provide functions and interactive tools for
enhancing and analyzing digital images and KEY FEATURES
developing image processing algorithms. In
■ Linear filtering and filter design
addition, it facilitates the learning and teach-
ing of image processing techniques in both ■ Image analysis, including pixel, region, and feature
academic and research settings. statistics and measurement
Together, MATLAB and the Image Processing ■ Image enhancement
Toolbox provide scientists, researchers, and
■ Binary and grayscale morphology
engineers with a diverse, flexible set of tools
for solving complex imaging problems in ■ Image segmentation
disciplines such as aerospace/defense,
■ Spatial transformation
astronomy, remote sensing, medical and
scientific imaging, and materials science. ■ Image registration
Most functions are implemented in the
■ Image deblurring
open MATLAB language, letting you explore
and customize existing toolbox algorithms ■ FFT, DCT, and radon transform
or develop your own.
■ Region-of-interest processing
You can use the toolbox for the restoration
■ Multidimensional image processing
of noisy or degraded images, image
enhancement for improved intelligibility, ■ DICOM import in addition to supported file formats
blob analysis, and extraction and analysis in MATLAB
of image data with 2-D statistics and trans-
forms, as well as to develop complete
solutions to challenging image processing
problems that involve multidimensional
data sets.

The toolbox’s deblurring algorithms were


used to restore these images that were
blurred by distortion operators. From left
to right: a circuit board, stained tissue, and
an image of the sun.
Stained tissue image–courtesy of J.C. Russ, The Image Processing Handbook
Sun image–courtesy of the SOHO EIT Consortium. SOHO is a mission of international
cooperation between ESA and NASA.
Data Import and Export skeletonization, and granulometry. local weighted mean. The toolbox also lets
Getting your image data in and out of Specialized morphology functions include you define your own transformations and
MATLAB is easy. MATLAB and the Image hole filling, peak detection, and watershed supports multidimensional transformations.
Processing Toolbox support many standard segmentation. All morphology functions
The toolbox supports several fundamental
data and image formats from areas such as support multidimensional images.
algorithms such as Lucy-Richardson,
medical imaging, remote sensing, and astron-
Wiener, and regularized filter deconvolution
omy. The supported formats include JPEG, Image Manipulation
for the deblurring or deconvolution of
TIFF, HDF, DICOM, and others. You can The Image Processing Toolbox lets you use
images. All deblurring functions support
also create AVI movies from sets of images. advanced techniques to alter different aspects
multidimensional images.
of your images. The included functions let
MATLAB supports other industry standard
you easily align, transform, and deblur
file formats, such as Microsoft® Excel. Visualization
images. You can also interactively crop and
Additional functions perform ASCII and MATLAB visualization tools let you depict
resize your images.
low-level binary I/O, allowing you to develop the information contained in your image
custom routines for working with any data An interactive point-selection tool lets you data through histograms, contour plots,
format. align two images by picking points in a pair montages, pixel profiles, transparent overlays,
of images that identify the same feature or and images texture-mapped onto surfaces.
Image Analysis and Enhancement landmark in each. The two images can then You can view and measure image attributes,
MATLAB and the Image Processing Toolbox be aligned by performing a spatial transfor- such as the location and value of pixels in
support a broad range of advanced image mation such as linear conformal, affine, an image, or display colorbars to view the
processing functions. You can extract and projective, polynomial, piecewise linear, or mapping of colors to values.
analyze image features, compute feature
measurements, and apply filter algorithms.
You can use filters for different types of
image noise or build customized filters
SURFACE IMAGE
with the filter design tools that are included.
ENHANCED IMAGE
Interactive tools allow you to select arbitrary
regions of interest, measure distances in
images, and obtain pixel values and statistics.

You can use the inverse Radon transform


(commonly used in tomography applica-
tions) to reconstruct images from projection
data. The discrete cosine transform, which is
at the heart of the JPEG standard, lets you
prototype compression algorithms. The
toolbox includes several edge detection
algorithms, including the Canny, Sobel, and
Roberts methods, to identify object bound-
This series of images illustrates how to
aries in an image.
identify and extract features from multiple,
An extensive collection of morphology func- touching objects in an image. Clockwise from
tions for grayscale and binary images allows
top left: original atomic force microscopy
you to perform operations that are sensitive
(AFM) image of a surface coating, contrast
to specific shapes in the input image. Using
the morphological functions of the toolbox enhancement with the morphological trans-
you can quickly perform image processing forms top-hat and bottom-hat, the
tasks, such as edge detection, noise removal, WATERSHED SEGMENTED IMAGE watershed-labeled regions.
Simulated 3-D spherical objects Euclidean distance transform Segmented objects

This series of images illustrates the use of the multidimensional watershed transform to segment or separate touching three-dimensional objects. From left to right: simulated image of two
touching spherical objects; several isosurfaces of the multidimensional Euclidean distance transform; different colors highlight the segmentation of the touching objects.

Using the powerful volume visualization in


MATLAB you can create graphical represen-
tations, including an isosurface display of
multidimensional image data sets, helping
you to highlight certain characteristics or
values. You can also use multiple light
sources for colored surfaces and a camera-
based viewing and perspective control to
enhance graphical representations. Point-
and-click tools let you easily edit and
annotate graphics.

Algorithm Development and


Application Deployment
MATLAB lets you easily encapsulate your
image processing solution in a customized
software application. Helpful features
include an interactive GUI builder to
rapidly develop custom graphical front
ends for your image processing applications. This series of concatenated MRI slices of the human skull illustrates the ability to use spatial transformations to interpolate an
In addition, you can use MATLAB’s built-in array and transform it in a single operation.
programming tools — such as a visual
debugger for algorithm development and
refinement — and an algorithm perform- rithms and GUIs as stand-alone applications. such as Signal Processing, Wavelet,
ance profiler, to accelerate development. With the MATLAB Compiler, you can auto- Mapping, Neural Network, and Statistics.
matically convert your image processing The MATLAB language facilitates the creative
You can share image processing algorithms
algorithms into C and C++ code. use of computation, visualization, and spe-
created in the MATLAB language across all
cialized techniques that can be drawn from
MATLAB supported platforms. You can also You can solve challenging multidisciplinary
any of the toolboxes within the MATLAB
integrate your algorithms with existing C problems using the Image Processing Toolbox
product family.
programs or deploy the developed algo- in combination with other MATLAB Toolboxes
Sample Functions Some of these functions are native to the MATLAB language

Image Display Spatial Transformations Image Enhancement


For controlling the display of individual For performing various geometric manipula- For enhancing images to make certain
or multiple images and animations tions on images. features easier to see or to reduce noise.

colorbar Display colorbar imcrop Crop image histeq Enhance contrast using his-
immovie Make movie from imresize Resize image togram equalization
multiframe image imrotate Rotate image imadjust Adjust image intensity values
imshow Display image imtransformApply spatial transformation or colormap
montage Display multiple image to image imnoise Add noise to an image
frames as rectangular tformarray Apply spatial transformation medfilt2 Perform 2-D median filtering
montage to multidimensional array ordfilt2 Perform 2-D order-statistic
movie Play recorded movie frames filtering
subimage Display multiple images in Image Registration stretchlim Find limits to contrast stretch
single figure an image
For selecting control points and aligning
warp Display image as texture- wiener2 Perform 2-D adaptive noise-
mapped surface two images. removal filtering
cp2tform Infer geometric transforma-
Image File I/O tion from control point pairs Linear Filtering
For loading, saving, and retrieving informa- cpcorr Tune control point locations For applying arbitrary as well as predefined
tion about images. (Supported file formats using cross-correlation filters to images and multidimensional
include: AVI, BMP, CDF, DICOM, FITS, HDF, cpselect Control point selection tool datasets.
HDF-EOS, JPEG, PCX, PNG, TIFF, XWD) normxcorr2 Normalized two-dimensional
cross-correlation fspecial Create predefined filters
dicominfo Read metadata from a imfilter Filter 2-D and multidimen-
DICOM message Pixel Values and Statistics sional images
dicomread Read a DICOM image For extracting grayscale statistics and other
imfinfo Return information about information about pixel values in images.
Linear 2-D Filter Design
image file For designing 2-D FIR filters to meet given
imread Read image file corr2 Compute 2-D correlation frequency-domain specifications.
imwrite Write image file coefficient
imcontour Create contour plot of freqspace Determine 2-D frequency
Image Arithmetic image data response spacing
For performing integer and floating-point imhist Display histogram of freqz2 Compute 2-D frequency
image data response
arithmetic operations on images.
improfile Compute pixel-value cross- fsamp2 Design 2-D FIR filter using
imabsdiff Compute absolute difference sections along line segments frequency sampling
of two images regionprops Measure properties of ftrans2 Design 2-D FIR filter using
imadd Add two images, or add image regions frequency transformation
constant to image fwind1 Design 2-D FIR filter using
imcomplement Image Analysis 1-D window method
Complement image For analyzing images to extract information fwind2 Design 2-D FIR filter using
imdivide Divide two images, or 2-D window method
about their structure.
divide image by constant
imlincomb Compute linear edge Find edges in intensity image Image Deblurring
combination of images qtdecomp Perform quadtree decomposi- For deblurring images using different
immultiply Multiply two images, or tion algorithms.
multiply image by constant qtgetblk Get block values in quadtree
imsubtract Subtract two images, or sub- decomposition deconvlucy Deblur image using
tract constant from image qtsetblk Set block values in quadtree Lucy-Richardson method
decomposition deconvreg Deblur image using a
regularized filter
deconvwnr Deblur image using
Wiener method
Note: The Signal Processing Toolbox is recommended for 2-D FIR continued
filter design to generate the inputs (1-D windows and 1-D filter proto-
types) to the 2-D FIR design functions.
Original image of rice grains with Extraction of nonuniform background Result of subtraction of Histogram plot of resultant image
nonuniform background intensity intensity using morphological opening nonuniformity from original with automatic thresholding

Binary thresholded image Measuring region properties such as MATLAB desktop


the eccentricity of the rice grains

A typical interactive session using MATLAB and the Image Processing Toolbox to perform connected components analysis — also known as blob analysis — on an image with nonuniform
background intensity. Note that it took only nine functions to perform the analysis.

Sample Functions continued idct2 2-D inverse discrete cosine imdilate Dilate image
transform imerode Erode image
edgetaper Taper edges using point- ifft2 2-D inverse fast Fourier imextendedmax
spread function transform Extended-maxima transform
otf2psf Convert optical transfer func- ifftn Multidimensional inverse imextendedmin
tion to point-spread function fast Fourier transform Extended-minima transform
psf2otf Convert point-spread function iradon Compute inverse Radon imfill Fill image regions and holes
to optical transfer function transform imhmax H-maxima transform
radon Compute Radon transform imhmin H-minima transform
Image Transforms imimposemin Impose minima
Morphological Operations imopen Open image
For alternative mathematical representations
of images for advanced analysis. For extracting information about shapes imreconstruct
from grayscale and binary images. Morphological reconstruction
dct2 2-D discrete cosine transform imregionalmax
dctmtx Discrete cosine transform conndef Default connectivity Regional maxima
matrix imbothat Perform bottom-hat filtering imregionalmin
fft2 2-D fast Fourier transform imclearborder Regional minima
fftn multidimensional fast Fourier Suppress light structures imtophat Perform tophat filtering
transform connected to image border watershed Watershed transform
imclose Close image
continued
Sample Functions continued Colormap Manipulation im2mis Convert image to Java
MemoryImageSource
For manipulating colormaps and approxi- ind2rgb Convert indexed image
Morphological Operations (binary images) mating indexed images with fewer colors to RGB image
For extracting information about shapes or with alternate colormaps. rgb2gray Convert RGB image or
from binary images. colormap to grayscale
brighten Brighten or darken colormap rgb2ind Convert RGB image to
applylut Perform neighborhood oper- cmpermute Rearrange colors in colormap indexed image
ations using lookup tables cmunique Find unique colormap colors
bwarea Compute area of objects in and corresponding image Documentation and Examples
binary image colormap Set or get color lookup table The Image Processing Toolbox User’s Guide
bwareaopen Binary area open (remove imapprox Approximate indexed image
describes toolbox functionality in a tutorial
small objects) by one with fewer colors
and reference format. It includes many
bwdist Compute distance transform
of binary image Color Space Conversions examples that take you step-by-step through
bweuler Compute Euler number of the solution of an image processing problem
For converting images from one color space
binary image in MATLAB. In addition, GUI-driven
to another.
bwhitmiss Binary hit-miss operation demonstrations introduce major features
bwlabel Label connected components hsv2rgb Convert HSV values to RGB of the product in an easy-to-use format. ■
in 2-D binary image color space
bwlabeln Label connected components ntsc2rgb Convert NTSC values to
in multidimensional binary RGB color space
image rgb2hsv Convert RGB values to HSV
bwmorph Perform morphological color space
operations on binary image rgb2ntsc Convert RGB values
bwpack Pack binary image to NTSC color space
bwperim Determine perimeter of rgb2ycbcr Convert RGB values
objects in binary image to YCBCR color space
bwselect Select objects in binary ycbcr2rgb Convert YCBCR values
image For demos, application examples,
to RGB color space tutorials, user stories, and pricing:
bwulterode Ultimate erosion
• Visit www.mathworks.com
bwunpack Unpack binary image Image Types and Type Conversions
makelut Construct lookup table for • Contact The MathWorks directly
use with applylut For converting images from one type US & Canada 508-647-7000
to another. Benelux +31 (0)182 53 76 44
Region-based Processing France +33 (0)1 41 14 67 14
dither Convert image using Germany +49 (0)89 995901 0
For performing image processing and dithering Spain +34 93 362 13 00
analysis operations on arbitrary regions gray2ind Convert intensity image Switzerland +41 (0)31 954 20 20
to indexed image UK +44 (0)1223 423 200
of images.
grayslice Create indexed image Visit www.mathworks.com to obtain
roicolor Select region of interest, from intensity image contact information for authorized
MathWorks representatives in countries
based on color by thresholding
throughout Asia Pacific, Latin America,
roifill Smoothly interpolate graythresh Compute global image the Middle East, Africa, and the rest
within arbitrary region threshold using Otsu’s of Europe.
roifilt2 Filter a region of interest method
roipoly Select polygonal region im2bw Convert image to binary
of interest image by thresholding
ind2gray Convert indexed image
to intensity image

Tel: 508.647.7000 info@mathworks.com www.mathworks.com 9414v02 4/01

© 2001 by The MathWorks, Inc. MATLAB, Simulink, Stateflow, Handle Graphics, and Real-Time Workshop are registered trademarks, and Target Language Compiler is a trademark of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders.

You might also like