کانولیشن در متلب CONVOLUTION IN MATLAB

, , پیغام بگذارید

برای درک کانولیشن با استفاده میانگین فضایی بر روی ماتریس بدون استفاده از تابع con2 در متلب استفاده خواهیم کرد.
%CONVOLUTION IN MATLAB

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

%KERNEL
avg3 = ones(3)/9;

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


تعریف هسته (کرنل)برای میانگین فضایی هسته (کرنل) را با استفاده از مقادیر یک پر می کنیم عناصر کرنل را مقادیر مشخص تقسیم می  کنیم.

MATLAB CODE:

%INPUT  MATRIX

A = zeros(5);

A(:) = 1:25;

%KERNEL

avg3 = ones(3)/9;

%PAD THE MATRIX WITH ZEROS

B = padarray(A,[1 1]);

% 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);

 

پاسخ دادن

anti spam *