Konvolusi dengan menggunakan MATLAB.
%==================inisialisasi matriks ========================
x=input (‘masukan banyak baris’);
y=input (‘masukan banyak kolom’);
for i=1:x
for j=1:y
im(i,j)=input(‘masukan nilai baris’);
end
end
%============ inisialisasi input operasi =================
choice =input(‘type 1 for correlation and 2 for convolution’);
window = input(‘enter the window size’);
if choice==1
for i=1:window*window
w(i)=input(‘enter the window value rowvise’);
end
end
if choice==2
for i=1:window*window
w(window*window-i+1)=input(‘input the window value rowvise’);
end
end
%=================== rumus =======================
[a b] = size(im);
m = a+2*(window-1);
n = b+2*(window-1);
imfull =zeros(m,n);
imout=zeros(m,n);
imfinal=zeros(a,b);
for i=1:m
for j=1:n
if (i>=window && i<=m-window+1 && j>=window && j<=n-window+1);
imfull(i,j)=im(i-window+1, j-window+1);
end
end
end
for k=1: m-window+1
for l=1:n-window+1
count=1;
isum =0;
for i=k:k+window-1
for j=1:1+window-1
isum=w(count)*imfull(i,j)+isum;
count=count+1;
end
end
imout(k+1,l+1)=isum;
end
end
%================ output ======================
for i=1:a
for j=1:b
imfinal(i,j)=imout(i+window-1,j+window-1);
end
end
im
count =1;
for i=1:window
for j=1:window
win(i,j)=w(count);
count=count+1;
end
end
win
imfinal