# IMAGE PROCESSING

" Two roads diverged in a wood, and I,
I took the one less traveled by,
And that has made all the difference "-Robert Frost

### CONVOLUTION IN MATLAB

Let us try to understand convolution by performing spatial averaging on a matrix without using MATLAB built in function ‘conv2()’.

%CONVOLUTION IN MATLAB

%INPUT  MATRIX
A = zeros(5);
A(:) = 1:25;

%KERNEL
avg3 = ones(3)/9;

%CONVOLUTION
Result = conv2(A,avg3,'same');
display(Result);

Steps to be performed:

NOTE :
To define a kernel for spatial averaging, fill the kernel with ones and divide it by the number of elements in it.
For instance, consider kernel of size 4x4 , fill the  matrix with ones and divide it by 16. i.e the total number of elements in the matrix.

MATLAB CODE:
%INPUT  MATRIX
A = zeros(5);
A(:) = 1:25;

%KERNEL
avg3 = ones(3)/9;

% PRE-ALLOCATE THE MATRIX
Output = zeros([size(A,1) size(A,2)]);

%PERFORM COONVOLUTION
for i = 1:size(B,1)-2
for j = 1:size(B,2)-2
Temp = B(i:i+2,j:j+2).*avg3;
Output(i,j) = sum(Temp(:));
end
end

display(Output);

Like "IMAGE PROCESSING" page

gomalian78 said...

Its interesting and good for students.

Jacob martin said...

The key is to give the peruser a little look into your experience, which urges them to need to take in more by perusing your resume
Medical Science Homework Help

Victor said...

Congratulations very interesting and didactically, do you have a youtube channel? if no, think about it.

Joe said...

Man You are a life save, thanks for this easy explaining :) :)

Joe said...

Hey In understand your example very clearly. I have question. If i want to subtraction any pixel intensity from its 8 neighbors pixel intensity(this is for every pixels in the image) and then take the absolute sum of the subtraction. How should I define the kernel (avg3 in your example) and perform the task with conv2?

Unknown said...

Thanks was very helpful for my assignment!

Rafia KhaLiL said...

plz tell me how to use it , I cant understand...