Preface
What Is the Image Processing Toolbox?
Related Products
Configuration Notes
About the Documentation
Structure of the Documentation
Image Credits
Terminology
MATLAB Newsgroup
Typographical Conventions
Image Processing Demos
Getting Started
Example 1 — Some Basic Topics
1. Read and Display an Image
2. Check the Image in Memory
3. Perform Histogram Equalization
4. Write the Image
5. Check the Contents of the Newly Written File
Example 2 — Advanced Topics
1. Read and Display an Image
2. Use Morphological Opening to Estimate the Background
3. Display the Background Approximation as a Surface
4. Subtract the Background Image from the Original Image
5. Adjust the Image Contrast
6. Apply Thresholding to the Image
7. Determine the Number of Objects in the Image
8. Examine the Label Matrix
9. Measure Object Properties in the Image
10. Compute Statistical Properties of Objects in the Image
Where to Go from Here
Online Help
Toolbox Demos
Introduction
Terminology
Images in MATLAB and the Image Processing Toolbox
Storage Classes in the Toolbox
Image Types in the Toolbox
Indexed Images
Intensity Images
Binary Images
RGB Images
Multiframe Image Arrays
Summary of Image Types and Numeric Classes
Converting Image Types
Working with Image Data
Reading a Graphics Image
Writing a Graphics Image
Querying a Graphics File
Converting Image Storage Classes
Converting Graphics File Formats
Image Arithmetic
Summary of Image Arithmetic Functions
Image Arithmetic Truncation Rules
Adding Images
Subtracting Images
Multiplying Images
Dividing Images
Nesting Calls to Image Arithmetic Functions
Coordinate Systems
Pixel Coordinates
Spatial Coordinates
Displaying and Printing Images
Terminology
Displaying Images
Displaying Indexed Images
Displaying Intensity Images
Displaying Binary Images
Displaying RGB Images
Displaying Images Directly from Disk
Special Display Techniques
Adding a Colorbar
Displaying Multiframe Images
Displaying Multiple Images
Setting Toolbox Display Preferences
Toolbox Preferences
Using the truesize Function
Zooming in on a Region of an Image
Zooming In or Out with the Zoom Buttons
Zooming In or Out from the Command Line
Texture Mapping
Printing Images
Troubleshooting
Spatial Transformations
Terminology
Interpolation
Image Types
Image Resizing
Specifying the Size of the Output Image
Specifying the Interpolation Method
Using Filters to Prevent Aliasing
Image Rotation
Specifying the Interpolation Method
Specifying the Size of the Output Image
Image Cropping
Performing General Spatial Transformations
Specifying the Transformation Type
Performing the Transformation
Advanced Spatial Transformation Techniques
Image Registration
Terminology
Registering an Image
Point Mapping
Example: Registering to a Digital Orthophoto
Types of Supported Transformations
Selecting Control Points
Using the Control Point Selection Tool
Starting the Control Point Selection Tool
Viewing the Images
Specifying Matching Control Point Pairs
Saving Control Points
Using Correlation to Improve Control Points
Neighborhood and Block Operations
Terminology
Block Processing Operations
Types of Block Processing Operations
Sliding Neighborhood Operations
Padding Borders
Linear and Nonlinear Filtering
Distinct Block Operations
Overlap
Column Processing
Sliding Neighborhoods
Distinct Blocks
Linear Filtering and Filter Design
Terminology
Linear Filtering
Convolution
Correlation
Filtering Using imfilter
Using Predefined Filter Types
Filter Design
FIR Filters
Frequency Transformation Method
Frequency Sampling Method
Windowing Method
Creating the Desired Frequency Response Matrix
Computing the Frequency Response of a Filter
Transforms
Terminology
Fourier Transform
Definition of Fourier Transform
Discrete Fourier Transform
Applications
Discrete Cosine Transform
The DCT Transform Matrix
The DCT and Image Compression
Radon Transform
Using the Radon Transform to Detect Lines
The Inverse Radon Transform
Morphological Operations
Terminology
Dilation and Erosion
Understanding Dilation and Erosion
Structuring Elements
Dilating an Image
Eroding an Image
Combining Dilation and Erosion
Dilation- and Erosion-Based Functions
Morphological Reconstruction
Marker and Mask
Pixel Connectivity
Flood-Fill Operations
Finding Peaks and Valleys
Distance Transform
Example: Marker-Controlled Watershed Segmentation
Step 1: Read in Images
Step 2: Create the Structuring Element
Step 3: Enhance the Image Contrast
Step 4: Exaggerate the Gaps Between Objects
Step 5: Convert Objects of Interest
Step 6: Detect Intensity Valleys
Step 7: Watershed Segmentation
Step 8: Extract Features from Label Matrix
Objects, Regions, and Feature Measurement
Connected-Component Labeling
Selecting Objects in a Binary Image
Finding the Area of Binary Images
Finding the Euler Number of a Binary Image
Lookup Table Operations
Analyzing and Enhancing Images
Terminology
Pixel Values and Statistics
Pixel Selection
Intensity Profile
Image Contours
Image Histogram
Summary Statistics
Region Property Measurement
Image Analysis
Edge Detection
Quadtree Decomposition
Image Enhancement
Intensity Adjustment
Noise Removal
Region-Based Processing
Terminology
Specifying a Region of Interest
Selecting a Polygon
Other Selection Methods
Filtering a Region
Filling a Region
Image Deblurring
Terminology
Understanding Deblurring
Causes of Blurring
Deblurring Model
Using the Deblurring Functions
Deblurring with the Wiener Filter
Deblurring with a Regularized Filter
Deblurring with the Lucy-Richardson Algorithm
Deblurring with the Blind Deconvolution Algorithm
Creating Your Own Deblurring Functions
Avoiding Ringing in Deblurred Images
Color
Terminology
Working with Different Screen Bit Depths
Determining Your Systems Screen Bit Depth
Choosing a Screen Bit Depth
Reducing the Number of Colors in an Image
Using rgb2ind
Reducing Colors in an Indexed Image
Dithering
Converting to Other Color Spaces
NTSC Color Space
YCbCr Color Space
HSV Color Space
Function Reference
Functions – By Category
Image Input, Output, and Display
Spatial Transformation and Registration
Image Analysis and Statistics
Image Enhancement and Restoration
Linear Filtering and Transforms
Morphological Operations
Region-Based, Neighborhood, and Block Processing
Colormap and Color Space Functions
Miscellaneous Functions
Functions – Alphabetical List
applylut
bestblk
blkproc
brighten
bwarea
bwareaopen
bwdist
bweuler
bwfill
bwhitmiss
bwlabel
bwlabeln
bwmorph
bwpack
bwperim
bwselect
bwulterode
bwunpack
checkerboard
cmpermute
cmunique
col2im
colfilt
colorbar
conndef
conv2
convmtx2
convn
corr2
cp2tform
cpcorr
cpselect
cpstruct2pairs
dct2
dctmtx
deconvblind
deconvlucy
deconvreg
deconvwnr
dicominfo
dicomread
dicomwrite
dilate
dither
double
edge
edgetaper
erode
fft2
fftn
fftshift
filter2
findbounds
fliptform
freqspace
freqz2
fsamp2
fspecial
ftrans2
fwind1
fwind2
getheight
getimage
getneighbors
getnhood
getsequence
gray2ind
grayslice
graythresh
histeq
hsv2rgb
idct2
ifft2
ifftn
im2bw
im2col
im2double
im2java
im2uint8
im2uint16
imabsdiff
imadd
imadjust
imapprox
imbothat
imclearborder
imclose
imcomplement
imcontour
imcrop
imdilate
imdivide
imerode
imextendedmax
imextendedmin
imfeature
imfill
imfilter
imfinfo
imhist
imhmax
imhmin
imimposemin
imlincomb
immovie
immultiply
imnoise
imopen
impixel
improfile
imread
imreconstruct
imregionalmax
imregionalmin
imresize
imrotate
imshow
imsubtract
imtophat
imtransform
imwrite
ind2gray
ind2rgb
iptgetpref
iptsetpref
iradon
isbw
isflat
isgray
isind
isrgb
label2rgb
makelut
makeresampler
maketform
mat2gray
mean2
medfilt2
montage
nlfilter
normxcorr2
ntsc2rgb
ordfilt2
otf2psf
padarray
phantom
pixval
psf2otf
qtdecomp
qtgetblk
qtsetblk
radon
reflect
regionprops
rgb2gray
rgb2hsv
rgb2ind
rgb2ntsc
rgb2ycbcr
rgbplot
roicolor
roifill
roifilt2
roipoly
std2
strel
stretchlim
subimage
tformarray
tformfwd
tforminv
translate
truesize
uint8
uint16
warp
watershed
wiener2
ycbcr2rgb
zoom
Index