Digital Image Processing, 2nd ed. www.imageprocessingbook.
com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
Chapter 2: Digital Image Fundamentals
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
MATLAB/Image Processing Toolbox
function [rt, f, g] = twodsin(A,u0, v0, M, N)
% TWODSIN Compares for loops vs. vectorization.
% The comparison is based on implementing the function
% f(x,y)=Asin(u0x+v0y) for x=0,1,2,…,M-1 and
% y=0,1,2,…,N-1. The inputs to the function are
% M and N and the constants in the function.
% First implement using for loops
tic %start timing
for r=1:M
u0x=u0*(r-1);
for c=1:N
v0y=v0*(c-1);
f(r,c)=A*sin(u0x+v0y);
end
end
t1=toc; % End timing
% Now implement using vectorization
tic %start timing
r=0:M-1;
c=0:N-1;
[C,R]=meshgrid(c,r);
%special MATLAB function for fast 2F function evaluations
% creates all the (x,y) pairs for function evaluation
g=A*sin(u0*R+v0*C);
t2=toc; %End timing
%compute the ratio of the two times
rt=t1/(t2+eps); %use eps in case t2 is close to zero.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
MATLAB/Image Processing Toolbox
>> [rt,f,g]=twodsin(1, 1/(2*pi), 1/(4*pi), 512, 512);
>> rt
rt =
34.2520 %according to GWE. I only got ~19.
>>g=mat2gray(g);
>> imshow(g) %show in separate window.
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
MATLAB/Image Processing Toolbox
imshow (f,G)
%F is an image array
%G is the number of intensity levels. Default is 256.
imwrite(f, ‘filename’)
% filename MUST contain a recognized file format extension
% .tif or .tiff identify TIFF
% .jpg identifies jpeg
% additional parameters for tiff and jpeg identify compression, etc.
imfiinfo filename
% returns all kind of cool file information such as size
Imread(‘filename’)
% filename MUST contain an appropriate extension
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
MATLAB/Image Processing Toolbox
indexed
bw2ind rgb2ind
ind2rgb
im2bw
gray2ind ind2gray
binary im2bw
RGB
im2bw rgb2gray
intensity
mat2gray
General matrix
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
MATLAB/Image Processing Toolbox
1 2 3 N
1 c
2
3
r One pixel
© 2002 R. C. Gonzalez & R. E. Woods
Digital Image Processing, 2nd ed. www.imageprocessingbook.com
MATLAB/Image Processing Toolbox
>> h=imhist(f) %any previously loaded image
>> h1=h(1:10:256) %create bins for horiz axis
>> horz=(1:10:256; %
>> bar(horiz, h1) %
>> axis([0 255 0 15000]) %expand lower range of y-axis
>> set(gca, ‘xtick’, 0:50:255) %gca means ‘get current axis’
>> set(gca, ‘ytick’, 0:2000:15000) %lab h & v ticks
© 2002 R. C. Gonzalez & R. E. Woods