Fa18-Bce-114 Tasks Lab 5

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Lab 5

Task 1

clc
clear all;
close all;
a=imread('VeG.jpg');

[r,c]=size(a);
z=zeros(1,256);
for i=1:r
for j=1:c
b=a(i,j);
z(b+1)=z(b+1)+1;
end
end
N=sum(z);
p=zeros(1,256);
s=zeros(1,256);
c=zeros(1,256);
r=zeros(1,256);
for k=1:256
p(k)=z(k)/N;
if k==1
c(k)=p(k);
s(k)=c(k)*255;
r(k)=floor(s(k));
else
c(k)=c(k-1)+p(k);
s(k)=c(k)*255;
r(k)=floor(s(k));
end
end
stem(r,z)
title('histogram')
figure
imhist(a);
figure
histeq(a);
task 11
clc
close all;
clear all;
a = imread('VeG.jpg');
[r,c] = size(a);
p = r*c;
feq = uint8(zeros(r,c));
f = zeros(256,1);
pdf = zeros(256,1);
cdf = zeros(256,1);
cummlative = zeros(256,1);
output = zeros(256,1);
for i = 1:1:r
for j = 1:1:c
val = a(i,j);
f(val+1) = f(val+1)+1;
pdf(val+1) = f(val+1)/p;
end
end
sum =0 ;
intensityLevel = 255;
for i = 1:1:size(pdf)
sum =sum +f(i);
cummlative(i) = sum;
cdf(i) = cummlative(i)/ p;
output(i) = round(cdf(i) * intensityLevel);
end
for i = 1:1:r
for j = 1:1:c
feq(i,j) = output(a(i,j) + 1);
end
end
subplot(1,2,1)
imshow(feq)
title('manual histeq');
subplot(1,2,2)
imshow(histeq(a))
title('using command histeq');

task 3
clc;
clear all;
close all;
a=imread('Fig0104(Ranger7_1st picture_of_moon).tif');
b=size(a);
c=zeros(1,256);
for i=1:b(1)
for j=1:b(2)
for k=0:255
if a(i,j)==k
c(k+1)=c(k+1)+1;
end
end
end
end
pdf=(1/(b(1)*b(2)))*c;
cdf = zeros(1,256);
cdf(1)=pdf(1);
for i=2:256
cdf(i)=cdf(i-1)+pdf(i);
end
cdf = round(255*cdf);
a1=imread('clownmat.png');
a1 = rgb2gray(a1);
b1=size(a1);
a1=double(a1);
c1=zeros(1,256);
for i1=1:b1(1)
for j1=1:b1(2)
for k1=0:255
if a1(i1,j1)==k1
c1(k1+1)=c1(k1+1)+1;
end
end
end
end
pdf1=(1/(b1(1)*b1(2)))*c1;
cdf1 = zeros(1,256);
cdf1(1)=pdf1(1);
for i1=2:256
cdf1(i1)=cdf1(i1-1)+pdf1(i1);
end
cdf1 = round(255*cdf1);
d = 255*ones(1,256);
for k=1:256
for k1=1:256
if cdf(k)<cdf1(k1)
d(k)=k1;
break
end
end
end
ep = zeros(b(1),b(2));
for i=1:b(1)
for j=1:b(2)
t=(a(i,j)+1);
ep(i,j)=d(t);
end
end
c2 = zeros(1,256);
for i1=1:b1(1)
for j1=1:b1(2)
for k1=0:255
if ep(i1,j1)==k1
c2(k1+1)=c2(k1+1)+1;
end
end
end
end
figure;
subplot(1,2,1);
imshow(uint8(a));
title('Original image');
subplot(1,2,2);
imshow(uint8(ep));
title('Modified image');

task 4
clc
close all;
clear all;
a = imread('VeG.jpg');
[r,c] = size(a);
p = r*c;
feq = uint8(zeros(r,c));
f = zeros(256,1);
pdf = zeros(256,1);
cdf = zeros(256,1);
cummlative = zeros(256,1);
output = zeros(256,1);
for i = 1:1:r
for j = 1:1:c
val = a(i,j);
f(val+1) = f(val+1)+1;
pdf(val+1) = f(val+1)/p;
end
end
sum =0 ;
intensityLevel = 255;
for i = 1:1:size(pdf)
sum =sum +f(i);
cummlative(i) = sum;
cdf(i) = cummlative(i)/ p;
output(i) = round(cdf(i) * intensityLevel);
end
for i = 1:1:r
for j = 1:1:c
feq(i,j) = output(a(i,j) + 1);
end
end
subplot(1,2,1)
imshow(feq)
title('manual histeq');
subplot(1,2,2)
imshow(histeq(a))
title('using command histeq');

You might also like