Matlab is an interactive tool primarily used for purpose of designing and problem solving image processing projects. Matlab is a proprietary compiler and it has user friendly syntax. Matlab programming language has user written functions and built-in functions Matlab image processing projects are developed for engineering students to submit their academic projects.

## Functionalities Provided Using Matlab Image Processing Projects:

1.Low Level Functionality

2.Automatic file and image wrapping.

3.Make logical frameworks for kernel operations.

4.Constants and input computed field consolidation.

5.High Level Functionality.

6.User Interface.

7.Point Spread Deconvolution.

8.Image Cross-Correlation.

Applications of Image Processing:

1.Face Detection

2.Error Concealment and Resilience in Video Transmission

3.Visual Mosaicing and Virtual Views

4.Visible and Invisible Watermarking

Types of Transformations using Matlab Image Processing Projects:

• Restoration,
• Geometry,
• Enhancement,

Operations of Image Processing:

• Image Registration,
• Image Segmentation,
• Geometric Hashing,
• Quantization.

Example Code for Watershed Transform:

Create Binary Image
center1 = -10;
center2 = -center1;
dist = sqrt(2*(2*center1)^2);
radius = dist/2 * 1.4;
lims = [floor(center1-1.2*radius) ceil(center2+1.2*radius)];[x,y] = meshgrid(lims(1):lims(2));
bw1 = sqrt((x-center1).^2 + (y-center1).^2) <= radius;
bw2 = sqrt((x-center2).^2 + (y-center2).^2) <= radius;
bw = bw1 | bw2;
figure
imshow(bw,’InitialMagnification’,’fit’), title(‘bw’)
Compute Distance Transform
D = bwdist(~bw);
figure
imshow(D,[],’InitialMagnification’,’fit’)
title(‘Distance transform of ~bw’)
Watershed Transform
L = watershed(D);
rgb = label2rgb(L,’jet’,[.5 .5 .5]);
figure
imshow(rgb,’InitialMagnification’,’fit’)
title(‘Watershed transform of D’)

Example Code for Visual Image Mosaicing:
Read the images and process
% [im1,im2] = readIms(‘yard-02.png’,’yard-01.png’,.5);

% Find SIFT Features and Descriptors[k1,d1] = vl_sift(im1);[k2,d2] = vl_sift(im2);

% Match local descriptors[matches,~] = match_descr(d1,d2);

% RANSAC[bestHomography, bestInlierCount] = RANSAC(k1,k2,matches);
%%
% Stitch
mosIm2 = stitch (im1,im2,bestHomography);
%%
perc = bestInlierCount*100/size(matches,2);
% imwrite(mosIm2,’results/goldengate04_05.png’);
%%
figure(1);
clf;
imagesc(mosIm2);
axis image off ;
title(‘Mosaic’) ;
colormap gray;

%% Cylindrical Mapping

mosImCyl = stitch_cylinder (im1,im2,bestHomography);

figure(1);
clf;
imagesc(mosImCyl);
axis image off ;
title(‘Mosaic’) ;
colormap gray;
%%
%Blend[mask1, mask2] = masks(im1, im2, bestHomography);
%%
blended = stitch_blend(im1,im2,bestHomography,mask1,mask2);

figure(1);
clf;
imagesc(blended);
axis image off ;
title(‘Blended’) ;
colormap gray;

%% Draw Some Matching Features
npts = 25;
plot_descr(im1,im2,d1,d2,k1,k2,matches,npts)