Final Results
The code of my divides into two parts.
The code is as follows.
function output = my_conv2(Image, filter)
k = size(filter, 1);
Image1 = padarray(Image,[(k-1)/2,(k-1)/2]);
s = size(Image1);
Image2 = zeros(s(1),s(2));
for i = 1+(k-1)/2: s(1)-(k-1)/2
for j =1+ (k-1)/2: s(2)-(k-1)/2
temp = Image1(i-(k-1)/2:i+(k-1)/2,j-(k-1)/2:j+(k-1)/2) .* filter;
Image2(i,j)= sum(temp(:));
end
end
output = Image2;
end
function output = my_imfilter(image, filter)
redImage = image(:,:,1);
greenImage = image(:,:,2);
blueImage = image(:,:,3);
redOutput = my_conv2(redImage, filter);
greenOutput = my_conv2(greenImage, filter);
blueOutput = my_conv2(blueImage, filter);
output =cat(3,redOutput,greenOutput, blueOutput);
end
![]() |
![]() |
![]() |
original dog | low_frequencies dog | hybrid_image |
![]() |
![]() |
|
original cat | high_frequencies cat |