how to Vectorize this for loop?
Mostrar comentarios más antiguos
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 comentarios
Jos (10584)
el 1 de Dic. de 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
el 1 de Dic. de 2017
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!