0% found this document useful (0 votes)
37 views17 pages

Iplab

The document describes 17 image processing experiments involving operations such as converting images to binary, applying histogram equalization, thresholding, filtering, noise removal, sharpening, resizing and more. Each experiment loads an image, applies a transformation using image processing functions in MATLAB, and displays the original and processed images for comparison.

Uploaded by

Rabin Subedi
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)
37 views17 pages

Iplab

The document describes 17 image processing experiments involving operations such as converting images to binary, applying histogram equalization, thresholding, filtering, noise removal, sharpening, resizing and more. Each experiment loads an image, applies a transformation using image processing functions in MATLAB, and displays the original and processed images for comparison.

Uploaded by

Rabin Subedi
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/ 17

Lab

Experiments Experiment 1: Convert RGB

image to binary image

img =
imread('img/camrgb.jpeg');
gray = rgb2gray(img);
binary = gray;
[row,col]=size(binary);

for i =
1:row
for j =
1:col
intensity =
binary(i,j); if
intensity<=127
binary(i,j)=0;
elseif intensity>127 &&
intensity<256 binary(i,j)=255;
en
dif
end
for
endfor

figure;
subplot(2,2,1); imshow(img); title('Original Image');
subplot(2,2,2); imshow(gray); title('Gray Image');
subplot(2,2,3); imshow(binary); title('Binary Image');
Experiment 2: Histogram Equalization

img =
imread('img/camrgb.jpeg');
grayimg = rgb2gray(img)
his =
histeq(grayimg);
figure;
subplot(2,2,1);imshow(grayimg);title('Original Gray Image');
subplot(2,2,2);imhist(grayimg);title('Original Histogram');
subplot(2,2,3);imshow(his);title('Equalized Image');
subplot(2,2,4);imhist(his);title('Equalized Histogram');
Experiment 3: RGB to Binary Transformation using Threshold

img =
imread('img/camrgb.jpeg');
thval = graythresh(img);
thimg =
im2bw(img,thval);
figure;
subplot(1,2,1); imshow(img); title('Original Image');
subplot(1,2,2); imshow(thimg); title('Threshold Image');
Experiment 4: RGB to negative image transformation

ori_img = imread('img/camrgb.jpeg');
L = 256;
neg_img = (L-1)-
ori_img; figure;
subplot(1,2,1); imshow(ori_img);title('Original Image');
subplot(1,2,2); imshow(neg_img);title('Negative Image');
Experiment 5: Log Transformation

ori_img =
imread('img/cam.jpg');
double_img =
im2double(ori_img); new_img =
double_img;
[row, col] =
size(ori_img); c = 3;
for
i=1:ro
wfor
j=1:col
new_img(i,j) =
c*log(1+double_img(i,j)); endfor
endfor

figure;
subplot(1,2,1); imshow(ori_img); title('Original Image');
subplot(1,2,2); imshow(new_img); title('Log Transform Image');
Experiment 6: Gamma Transformation

ori_img =
imread('img/cam.jpg');
double_img =
im2double(ori_img); new_img =
double_img;
[row, col] =
size(ori_img); gamma =
5;
for
i=1:row
for
j=1:col
new_img(i,j) =
c*double_img(i,j)^gamma; endfor
endfor

figure;
subplot(1,2,1); imshow(ori_img); title('Original Image');
subplot(1,2,2); imshow(new_img); title('Gamma Transform
Image');
Experiment 7: Contrast Stretching
ori_img = imread('img/cam.jpeg');
new_img = ori_img;

s1 = 20;
s2 = 150;
r1 = 100;
r2 = 150;
L = 256;
alfa = s1/r1;
beta = (s2-s1)/(r2-r1);
gamma = ((L-1)-s2)/((L-1)-r2);

[x,y,z] = size(new_img);

for i=1:x

for j=1:y

for k=1:z
if new_img(i,j,k)<=r1
r = new_img(i,j,k);
new_img(i,j,k) = alfa*r;
elseif new_img(i,j,k)>r1 && new_img(i,j,k)<=r2 r =
new_img(i,j,k);
new_img(i,j,k) = (beta*(r-r1))+s1;
else
r = new_img(i,j,k);
new_img(i,j,k) = (gamma*(r-r2)+s2);
endif
end
for
endfor
endfor

figure;
subplot(1,2,1); imshow(ori_img); title('Original Image');
subplot(1,2,2); imshow(new_img); title('Enhanced Image');
Experiment 8: Gray Level
Slicingori_img =
imread('img/cam.jpg'); img =
ori_img;
L = 256;
r1 = 10;
r2 = 50;

[row,col] = size(ori_img);
subplot(2,2,1); imshow(ori_img); title('Original Image');
subplot(2,2,3); imshow(ori_img); title('Original Image');
% Slicing Without
Backgroundfor i=1:row
for j=1:col
if ori_img(i,j) >= r1 && ori_img(i,j)<=r2
ori_img(i,j) =
(L-1); else
ori_img(i,j)
= 0;endif
end
for
endf
or
subplot(2,2,2); imshow(ori_img); title('Enhanced Image without Background');
% Slicing With
Backgroundfor i=1:row
for j=1:col
if img(i,j) >= r1 &&
img(i,j)<=r2 img(i,j) = (L-1);
else
img(i,j) =
img(i,j); endif
end
for
endf
or
subplot(2,2,4); imshow(img); title('Enhanced Image With Background');
Experiment 9: Bit Plane Slicing
% Take gray image or change rgb to gray first if image is in rgb

img = imread('img/cam.jpeg');
gray_img = rgb2gray(img);
double_img =
double(gray_img); first_plane =
bitget(double_img,1);
subplot(2,4,1); imshow(first_plane); title('LSB Plane');
second_plane = bitget(double_img,2);
subplot(2,4,2); imshow(second_plane); title('2nd Plane');
third_plane = bitget(double_img,3);
subplot(2,4,3); imshow(third_plane); title('3rd Plane');
fourth_plane = bitget(double_img,4);
subplot(2,4,4); imshow(fourth_plane); title('4th Plane');
fifth_plane = bitget(double_img,5);
subplot(2,4,5); imshow(fifth_plane); title('5th
Plane'); sixth_plane = bitget(double_img,6);
subplot(2,4,6); imshow(fifth_plane); title('6th Plane');
seventh_plane = bitget(double_img,7);
subplot(2,4,7); imshow(seventh_plane); title('7th Plane');
eighth_plane = bitget(double_img,8);
subplot(2,4,8); imshow(eighth_plane); title('MSB Plane');
Experiment 10: Minimum Filter or Salt Noise

Filter ori_img = imread('img\salt.jpg');


noisy_img = ori_img;
x = rand(size(noisy_img));
noisy_img(x(:)>0.95)=255; %adding salt
noiseminf = @(x)min(x(:));
filtered_img = nlfilter(noisy_img,[3,3],minf);

subplot(1,3,1);imshow(ori_img); title('Original Image');


subplot(1,3,2);imshow(noisy_img); title('Image with salt noise');
subplot(1,3,3);imshow(filtered_img); title('Filtered Image');
Experiment 11: Maximum filter or Paper Noise

Filter ori_img = imread('img\paper.jpg');


noisy_img = ori_img;
x = rand(size(noisy_img));
noisy_img(x(:)>0.95)=1; %adding pepper
noisemaxf = @(x)max(x(:));
filtered_img = nlfilter(noisy_img,[3,3],maxf);

subplot(1,3,1);imshow(ori_img); title('Original Image');


subplot(1,3,2);imshow(noisy_img); title('Image with pepper noise');
subplot(1,3,3);imshow(filtered_img); title('Filtered Image');
Experiment 12: Median Filter or Salt and Paper noise filter

ori_img = imread('img\cam.jpg');
noisy_img = imnoise(ori_img,'salt & pepper', 0.05); %adding salt and pepper
noisemedf = @(x)median(x(:));
filtered_img = nlfilter(noisy_img,[3,3],medf);

subplot(1,3,1); imshow(ori_img); title('Original Image');


subplot(1,3,2); imshow(noisy_img); title('Noisy Image');
subplot(1,3,3); imshow(filtered_img); title('Filtered
Image');
Experiment 13: Average or Mean Filtering to smoothing the

imageori_img = imread('img/saltnoise.jpg');
mask1 = (1/9)*[1,1,1;1,1,1;1,1,1];
mask2 = (1/25)*[1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;1,1,1,1,1];
filtered_img1 =
imfilter(ori_img,mask1);
filtered_img2 =
imfilter(ori_img,mask2);

subplot(1,3,1); imshow(ori_img); title('Original Image');


subplot(1,3,2); imshow(filtered_img1);title('3x3 filtered Image');
subplot(1,3,3); imshow(filtered_img2);title('5x5 filtered Image');
Experiment 14: Weighted average filter to smoothing the image

ori_img = imread('img/lena.png');
mask = (1/16)*[1,2,1;2,4,2;1,2,1];
filtered_img = imfilter(ori_img,mask);

subplot(1,2,1); imshow(ori_img); title('Original Image');


subplot(1,2,2); imshow(filtered_img); title('Filtered
Image');
Experiment 15: Laplacian filter to edge

detection ori_img = imread('img/cam.jpg');

mask = [-1,-1,-1;-1,8,-1;-1,-1,-1];
filtered_img = imfilter(ori_img,mask);

subplot(1,2,1); imshow(ori_img); title('Original Image');


subplot(1,2,2); imshow(filtered_img); title('Filtered
Image');
Experiment 16: High-Boost Filter to sharping the image

ori_img = imread('img\cam.jpg');
a = 2;
mask = [-1,-1,-1; -1,a+8,-1; -1,-1,-1];
filtered_img = imfilter(ori_img,mask);

subplot(1,2,1); imshow(ori_img); title('Original Image');


subplot(1,2,2); imshow(filtered_img); title('Filtered
Image');
Experiment 17: Interpolation or Resizing

ori_img = imread('img\lady.png');
resized_img1 = imresize(ori_img,[512,312],'nearest');
resized_img2 = imresize(ori_img,[512,253],'bilinear');

subplot(1,3,1); imshow(ori_img); title('Original Image');


subplot(1,3,2); imshow(resized_img1); title('Nearest Interpolation');
subplot(1,3,3); imshow(resized_img2); title('Bilinear
Interpolation');

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy