Académique Documents
Professionnel Documents
Culture Documents
IMAGE PROCESSING
INTRODUCTION
c
cImage Processing is a technique to enhance raw images received from
cameras/sensors placed on satellites, space probes and aircrafts or
pictures taken in normal day-to-day life for various applications.
Various techniques have been developed in Image Processing during the
last four to five decades. Most of the techniques are developed for
enhancing images obtained from unmanned spacecrafts, space probes
and military reconnaissance flights. Image Processing systems are
becoming popular due to easy availability of powerful personnel
computers, large size memory devices, graphics software¶s etc.
Image Processing is used in various applications such as:
c Remote Sensing
c Medical Imaging
c Non-destructive Evaluation
c Forensic Studies
c Textiles
c Material Science.
c Military
c Film industry
c Document processing
c Graphic arts
c Printing Industry
c
c
c
V V
The simplest spatial domain operations occur when the neighbourhood
is simply the pixel itself
In this case a is referred to as a grey level transformation function or a
point processing operation
Point processing operations take the form
a
where refers to the processed image pixel value and refers to the
original image pixel value .
V
c
c
c
V
An image is stored as a matrix using standard Matlab matrix
conventions. There are five basic types of images supported by Matlab:
1.cIndexed images
2.cIntensity images
3.cBinary images
4.cRGB images
5.c8-bit images
c
c
c
)
V*
To set the default color map, use color map. Ordinarily, you should use
the color map gray(256) for 8-bit grayscale images. Use imshow(X) to
display images after setting a default colormap. See the help
on imshow for other usages. To force the window to make one screen
pixel the same size as one image pixel, use true size. You can display
multiple images by either creating multiple figures with the
figure command or by putting multiple images in the same figure with
the subplot command.
V+
ëc Be sure to use.* instead of * when you're multiplying two images
together point-by-point. Otherwise, Matlab will do a matrix
multiplication of the two, which will take forever and result in total
nonsense.
ëc Be sure not to forget the semicolon at the end of a command.
Otherwise, you may sit for awhile watching all the pixel values
from the resulting image scroll by on the screen!
ëc Do not use for loops unless absolutely necessarily. The use
of for loops will make your programs take , ' longer.
c
c
c
#$%'#&$
Sometimes it is convenient to represent an image as a vector rather than
as a matrix. If I is an image in matrix form,
Iv = I(:);
will create a vector Iv whose entries are the stacked columns of I. To
stack rows, type
It = I'; Iv = It(:);
or
reshape(I¶, length(I(:)),1);
To return a vector to matrix form, use reshape.
.! /%! &$
If you want to divide an image into blocks and process each block
individually, you can use the function blkproc. This function will allow
you to process distinct blocks as well as overlapping blocks. With a little
creativity, this function can be used to eliminate many loops that would
otherwise be necessary. Some related functions are im2col, col2iml,
and colfilt.
0&!&#.#%%#1
c
c
c
+%2,&&%, !&
image Create and display image object
imagesc Scale data and display as image
imshow Display image in a MATLAB figure window
imtool Display image in the Image Viewer
dicomread Read a DICOM image
dicomwrite Write a DICOM image
imfinfo Return information about image file
imread Read image file
imwrite Write image file
imcrop Crop image
imresize Resize image
imrotate Rotate image
imtransform Apply 2-D spatial transformation to image
makeresampler Create resampling structure
maketform Create geometric transformation structure
reshape Reshape array
roipoly Select polygonal region of interest
entropy Entropy of an intensity image
corr2 Compute 2-D correlation coefficient
imhist Display histogram of image data
mean2 Compute mean of matrix elements
c
c
c
c
c