how to Vectorize this for loop?
Afficher commentaires plus anciens
I am trying to create a full convolution without the conv2 function. For that, i would like to vectorize this nested loop.
[r,c] = size(A);% size of image A
[m,n] = size(mask);%size of the mask
ab=padarray(A,[2 2]); %Padding zeros in the original image
ab=im2double(ab);
B = zeros(r+m,c+n);
for x = 1 : r+m-1
for y = 1 : n+c-1
for i = 1 : m
for j = 1 : n
B(x, y) = B(x, y) + (ab(x+i-1, y+j-1) * mask(i, j));
end
end
end
end
2 commentaires
Jos (10584)
le 1 Déc 2017
Why can't you use conv2? (it is rather silly to speed up code that is not optimal)
Another question: why the fixed [2 2] padding?
Miguel Reina
le 1 Déc 2017
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!