0% found this document useful (0 votes)
109 views65 pages

Image Processing File

The document contains 10 programs demonstrating various image processing techniques in MATLAB. Program 1 contains edge detection using Roberts, Sobel, Prewitt, Log and Canny operators. Program 2 demonstrates intensity transformations including negative image, log transform and power law transform. Program 3 applies histogram equalization to grayscale and color images. Program 4 contains spatial intensity resolution by quantizing an image into various gray levels. Program 5 enhances images using spatial filtering. Program 6 applies frequency domain filtering like low pass, high pass, band pass and band reject. Program 7 analyzes images using the discrete Fourier transform. Program 8 thresholds images using various methods. Program 9 demonstrates sampling and quantization. Program 10 applies morphological operations like dilation, erosion, opening and closing.

Uploaded by

jai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views65 pages

Image Processing File

The document contains 10 programs demonstrating various image processing techniques in MATLAB. Program 1 contains edge detection using Roberts, Sobel, Prewitt, Log and Canny operators. Program 2 demonstrates intensity transformations including negative image, log transform and power law transform. Program 3 applies histogram equalization to grayscale and color images. Program 4 contains spatial intensity resolution by quantizing an image into various gray levels. Program 5 enhances images using spatial filtering. Program 6 applies frequency domain filtering like low pass, high pass, band pass and band reject. Program 7 analyzes images using the discrete Fourier transform. Program 8 thresholds images using various methods. Program 9 demonstrates sampling and quantization. Program 10 applies morphological operations like dilation, erosion, opening and closing.

Uploaded by

jai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

Image

Segmentation

1|Page
2|Page
1. PROGRAM FOR IMAGE SEGMANTATION

clc;
clear all;
close all;
%edge detection
a=imread('autumn.tif');
b=rgb2gray(a);
figure(1);
imshow(b);
title('original image');

%roberts operator
c=edge(b,'roberts');
figure(2);
imshow(c);
title('roberts image');
3|Page
4|Page
%sobel operator
d=edge(b,'sobel');
figure(3);
imshow(d);
title('sobel image');

%prewitt operator
e=edge(b,'prewitt');
figure(4);
imshow(e);
title('prewitt image');

%log operator
f=edge(b,'log');
figure(5);
imshow(f);
title('log image');

%canny operator
g=edge(b,'canny');
figure(6);
imshow(g);
title('canny image');

5|Page
6|Page
%point detection
h=[0,1,0;1,-4,1;0,1,0];
i=imfilter(b,h,'symmetric','conv');
figure(7);
imshow(i);
title('laplacian point filtered image');

%line detection
j=im2bw(b);
w=(1/3)*[1,0,-1;1,0,-1;1,0,-1];
k=imfilter(double(j),w);
k(k<1)=0;
figure(8);
imshow(k);
title('line detection image');

7|Page
8|Page
Image
Intensity
Transformation

9|Page
10 | P a g e
2. PROGRAM FOR IMAGE INTENSITY TRANSFORMATION

clc;
clear all;
close all;

%Read Input Image


a=imread('D:\d1.jpg');
figure(1);
imshow(a);
title('original image');

%negative image
b=255-a;
figure(2);
imshow(b);
title('negative image');

%log transform
l=255;
d=l/log10(1+l);
e=d*log10(1+double(a));
f=uint8(e);
figure(3);
imshow(f);
title('log transform');

11 | P a g e
12 | P a g e
%power law transform
gamma = 1.1;
g=double(a).^gamma;
figure(4);
imshow(uint8(g));
title('power law transform');

13 | P a g e
14 | P a g e
Histogram
Equalization

15 | P a g e
3. MATLAB PROGRAM FOR HISTOGRAM EQUALIZATION

clc;
clear all;
close all;
%Read an image
a=imread('D:\mri.jpg');

16 | P a g e
17 | P a g e
% histogram processing
subplot(3,2,1);
imshow(a);
title('original image');
subplot(3,2,3);
b=rgb2gray(a);
imshow(b);
title('grayscale image');

subplot(3,2,4);
c=histeq(b);
imshow(c);
title('equalised image');

subplot(3,2,5);
imhist(b);
title('histogram of grayscale image');
subplot(3,2,6);
imhist(c);
title('histogram of equalised image');

18 | P a g e
19 | P a g e
4. PROGRAM FOR HISTOGRAM EQUALIZATION USING COLOR
IMAGE
clc;

clear all;
close all;
%Read an image
a=imread('D:\mri.jpg');

% histogram processing
subplot(3,2,1);
imshow(a);
title('original image');
subplot(3,2,3);
b=rgb2gray(a);
imshow(b);
title('grayscale image');

subplot(3,2,4);
c=histeq(b);
imshow(c);
title('equalised image');

subplot(3,2,5);
imhist(b);
title('histogram of grayscale image');
subplot(3,2,6);
imhist(c);
title('histogram of equalised image');

20 | P a g e
SPATIAL
INTENSITY
RESOLUTION

21 | P a g e
22 | P a g e
5. PROGRAM FOR SPATIAL INTENSITY RESOLUTION

clc;
clear all;
close all;

a=imread('D:\d1.jpg');
subplot(3,2,1);
imshow(a);
title('original image');

% 128 graylevel image


subplot(3,2,2);
imshow(grayslice(a,128),gray(128));
title('128 graylevel image');

%64 graylevel image


subplot(3,2,3);
imshow(grayslice(a,64),gray(64));
title('64 graylevel image');

%32 graylevel image


subplot(3,2,4);
imshow(grayslice(a,32),gray(32));
title('32 graylevel image');

23 | P a g e
24 | P a g e
%16 graylevel image
subplot(3,2,5);
imshow(grayslice(a,16),gray(16));
title('16 graylevel image');

%8 graylevel image
subplot(3,2,6);
imshow(grayslice(a,8),gray(8));
title('8 graylevel image');

25 | P a g e
26 | P a g e
ENHANCEMENT
IN
SPATIAL FILTER

27 | P a g e
28 | P a g e
6. MATLAB PROGRAM FOR IMAGE ENCHANCEMENT IN
SPATIAL FILTERING
clc;
clear all;
close all;

a=imread('D:\mri.jpg');
b=double(a)+50;

subplot(3,3,1);
imshow(a);
title('original image');

subplot(3,3,2);
imshow(uint8(b));
title('enhanced image');

b1=double(a-70);
subplot(3,3,3);
imshow(uint8(b1));
title('brightness suppressed image');

e=a*.5;
f=a*.20;

29 | P a g e
30 | P a g e
subplot(3,3,4);
imshow(e);
title('increased in contrast');

subplot(3,3,5);
imshow(f);
title('decreased in contrast');

h1=1/9*ones(3,3);
h2=1/25*ones(5,5);
b1=conv2(a,h1,'same');
b2=conv2(a,h2,'same');
subplot(3,3,6);
imshow(uint8(b1));
title('output usins 3*3 mask');

subplot(3,3,7);
imshow(uint8(b2));
title('output using 5*5 mask');

31 | P a g e
32 | P a g e
ENCHANCEMENT
IN
FREQUENCY
FILTER

33 | P a g e
34 | P a g e
7. MATLAB PROGRAM FOR IMAGE ENCHANCEMENT IN
FREQUENCY FILTERING

% LOW PASS FILTER


clear all;
close all;
a=imread('coins.png');
[m,n]=size(a);
mask=zeros(m,n);
for i=150:180
for j=210:240
mask (i,j)=i;
end
end

c=fftshift(mask);
b=fft2(a);
d=b.*c;
e=abs(ifft2(b));
figure(1);
subplot(3,3,1);
imshow(a);
title('original image');
subplot(3,3,2);
imshow(uint8(e));
title('low passs filtered image');
subplot(3,3,3);
imshow(mask);
subplot(3,3,4);

35 | P a g e
36 | P a g e
imshow(c);
title('mask after fftshift operation');

%HIGH PASS FILTER


a=imread('coins.png');
[m,n]=size(a);
mask=ones(m,n);
for i=150:180
for j=210:240
mask (i,j)=0;
end
end
c=fftshift(mask);
b=fft2(a);
d=b.*c;
e=abs(ifft2(b));
subplot(3,3,5);
imshow(a);
title('original image');
subplot(3,3,6);
imshow(uint8(e));
title('high pass filtered image');
subplot(3,3,7);
imshow(mask);
subplot(3,3,8);
imshow(c);
title('high pass filter mask');

37 | P a g e
38 | P a g e
%BAND PASS PASS FILTER
a=imread('coins.png');
[m,n]=size(a);
mask=zeros(m,n);
for i=160:170
for j=260:230
mask (i,j)=0;
end
end
c=fftshift(mask);
b=fft2(a);
d=b.*c;
e=abs(ifft2(b));
figure(2);
subplot(2,2,1);
imshow(a);
title('original image');
subplot(2,2,2);
imshow(uint8(e));
title('band pass filtered image');
subplot(2,2,3);
imshow(uint8(mask));
subplot(2,2,4);
imshow(uint8(c));
title('mask after fftshift operation');

39 | P a g e
40 | P a g e
% BAND REJECT FILTER
a=imread('coins.png');
[m,n]=size(a);
mask=ones(m,n);
for i=150:180
for j=210:240
mask(i,j)=0;
end
end
c=fftshift(mask);
b=fft2(a);
d=b.*c;
e=abs(ifft2(b));
figure(3);
subplot(2,2,1);
imshow(a);
title('original image');
subplot(2,2,2);
imshow(uint8 (e));
title('band reject pass filtered image');
subplot(2,2,3);
imshow(mask);
subplot(2,2,4);
imshow(c);
title('high pass filter mask');

41 | P a g e
42 | P a g e
DISCRETE
FOURIER
TRANSFORM
ANALYSIS

43 | P a g e
44 | P a g e
8. PROGRAM FOR DISCRETE FOURIER TRANSFORM ANALYSIS

clc;
clear all;
close all;
a=zeros(256);
[m,n]=size(a);
for i=120:145
for j=120:145
a(i,j)=225;
end;
end;
b=imrotate(a,45,'bilinear','crop');
a1=log(1+abs(fftshift(fft2(a))));
b1=log(1+abs(fftshift(fft2(b))));
subplot(2,2,1);
imshow(a);
title('Orignal Image');
subplot(2,2,2);
imshow(b);
title('Rotate Image');
subplot(2,2,3);
imshow(mat2gray(a1));
title('orignal image spectrum');
subplot(2,2,4);
imshow(mat2gray(b1));
title('spectrum of rotate img');

45 | P a g e
46 | P a g e
BASIC
THRESHOLDING
FUNCTION

47 | P a g e
48 | P a g e
9. PROGRAM FOR BASIC THRESHOLDING FUNCTION

clc;
clear all;
close all;
i=imread('cell.tif');
subplot(2,2,1);
imshow(i);
title('original image');

subplot(2,2,2);
im2bw(i,0.35);
title('mannual thershold image');

[counts,x]=imhist(i);
p=polyfit(x,counts,6);
y=polyval(p,x);
[v,ind]=sort(abs(diff(y)));
thresh=ind(3)./255;

subplot(2,2,3);
im2bw(i,thresh);
title(' polynomial thershold image');
level=graythresh(i);

subplot(2,2,4);
im2bw(i,level);
title('otsu method');

49 | P a g e
50 | P a g e
figure;
plot(x,counts);
hold on,plot(x,y,'r');
title('graph');

51 | P a g e
52 | P a g e
SAMPLING
AND
QUANTIZATION

53 | P a g e
54 | P a g e
10.PROGRAM FOR SAMPLING AND QUANTIZATION

clc;
clear all;
close all;

a=imread('trees.tif');
f=ind2gray(a,gray(256));
f=f(1:256,1:256);
[N,M]=size(f);
m=7;
w=1/m;
F=fftshift(fft2(f));

for i=1:N
for j=1:N
r2=(i-round(N/2))^2+(j-round(N/2))^2;
if(r2>round(N/2*w)^2)F(i,j)=0;
end;
end;
end;
Id=real(ifft2(fftshift(F)));
Id=imresize(Id,[N/m,N/m],'nearest');
m=10;
[N,M]=size(f);
Iu=zeros(m*N,m*N);
for i=1:N
for j=1:N

55 | P a g e
56 | P a g e
Iu(m*(i-1)+1,m*(j-1)+1)=f(i,j);
end;
end;
[N,M]=size(Iu);
w=1/m;
F=fftshift(fft2(Iu));
for i=1:N
for j=1:N
r2=(i-round(N/2))^2+(j-round(N/2))^2;
if(r2>round(N/2*w)^2)F(i,j)=0;
end;
end;
end;
Iu=(m*m)*abs(ifft2(fftshift(F)));
figure;imshow(a);
title('original image');
figure;imshow(f);
title('gray image');
figure;imshow(Id);
title('Idown image');
figure;imshow(Iu);
title('Iup image');

57 | P a g e
58 | P a g e
MORPHOLOGICAL
OPERATIONS

59 | P a g e
60 | P a g e
11.PROGRAM FOR MORPHOLOGICAL OPERATIONS (DILATION,
EROSION, OPENING, CLOSING AND THEIR PROPERTIES)

clc;
clear all;
close all;

a=imread('D:\d1.jpg'); % Read an input image


b=strel('line',11,90);

% strel represents morphological structuring element

figure(1);
imshow(a);
title('Original image');

c=imdilate(a,b);
figure(2);
imshow(c);
title('Dilate image');

d=strel('disk',11);
e=imerode(a,d);
figure(3);
imshow(e);
title('Erode image')

c=imopen(a,b);
figure(4);

61 | P a g e
62 | P a g e
imshow(c);
title('Open image');

d=strel('disk',11);
e=imclose(a,d);
figure(5);
imshow(e);
title('Close image')

%Properties

h=[0 1 0;1 1 1;0 1 0];


i1=imdilate(a,h);
figure(6);
imshow(i1);
title('Dilate image pro1');

% pro=properties
i2=imerode(a,h);
figure(7);
imshow(i2);
title('Erode image ');
i3=a-i2;
figure(8);
imshow(i3);
title('pro3');

i4=i1-a;

63 | P a g e
64 | P a g e
figure(9);
imshow(i4);
title('pro4');

i5=i1-i2;
figure(10);
imshow(i5);
title('pro5');

65 | P a g e

You might also like