Digital Image Processing Using Matlab PDF

Digital Image Processing Using Matlab Pdf consists of advantages of Matlab and various operations of digital image processing.Matlab simulation tool supports to develop digital image processing concepts and advanced topics covered by matlab simulation are numerical manipulation, object oriented programming and advanced I/O. Matlab usually started as a matrix programming language because simple linear algebra programming to be solve the problems in an effective manner.

 

  • Image Compression
  • Measurement Extraction
  • Image Enhancement
  • Image Restoration
  • Data Merging
  • Hyper-Spectral Image Analysis
  • Image Acquisition
  • Image Enhancement
  • Image Restoration
  • Color Image Processing
  • Wavelets and Multi-Resolution Processing
  • Compression
  • Morphological Processing
  • Segmentation
  • Representation
  • Object Recognition
  • Memory Management
  • Computational Efficiency
  • Graphical Environment,
  • Easy Use.
  • Computational Methods

Example Code for LZW Compression:

% ensure to handle uint8 input vector
if ~isa(vector,’uint8′),
error(‘input argument must be a uint8 vector’)
end
% vector as uint16 row
vector = uint16(vector(:)’);
% initialize table (don’t use cellstr because char(10) will be turned to empty!!!)
table = cell(1,256);
for index = 1:256,
table{index} = uint16(index-1);
end
% initialize output
output = vector;
% main loop
outputindex = 1;
startindex = 1;
for index=2:length(vector),
element = vector(index);
substr = vector(startindex:(index-1));
code = getcodefor([substr element],table);
if isempty(code),
% add it to the table
output(outputindex) = getcodefor(substr,table);[table,code] = addcode(table,[substr element]);
outputindex = outputindex+1;
startindex = index;
else,
% go on looping
end
end
substr = vector(startindex:index);
output(outputindex) = getcodefor(substr,table);
% remove not used positions
output((outputindex+1):end) = [];
Example Code for LZW Decompression:
% initialize output
output = uint8([]);
code = vector(1);
output(end+1) = code;
character = code;
for index=2:length(vector),
element = vector(index);
if (double(element)+1)>length(table),
% add it to the table
string = table{double(code)+1};
string = [string character];
else,
string = table{double(element)+1};
end
output = [output string];
character = string(1);[table,code] = addcode(table,[table{double(code)+1} character]);
code = element;
end
Example Code for Hough Transformation:
siz = size(image);
rl = ceil(sqrt(siz(1)^2+siz(2)^2));
h = zeros(rl,360);
theta = 360;
%Building up the accumulator array
for x = 1:siz(1)
for y = 1:siz(2)
if image(x,y)==1
for theta = 1:360
r = round(x*cos(theta*pi/180) + y*sin(theta*pi/180));
if r<1
r = 1;
h(r,theta) = h(r,theta);
else
h(r,theta) = h(r,theta) + 1;
end
end
end
end
end