How would I vectorise this code

tempSum = 0;
for m = topLeft(2) : topLeft(2) + widthhight(2) -8
for n = topLeft(1) : topLeft(1) + widthhight(1) -8
for x = 0 : 8
for y = 0 : 8
tempSum = tempSum + double(double(i(n+y,m+x)) * kernel(y+1,x+1));
end
end
result(n + 4,m + 4) = tempSum/81;
tempSum=0;
end
end

2 Comments

conv2() some subset of i with kernel as being the thing to convolve with. Use the 'valid' option, I suspect.
Thank you, a lot faster now. I knew about conv2 but didn't know about the "valid" argument

Sign in to comment.

Answers (0)

Categories

Find more on Parallel Computing Toolbox in Help Center and File Exchange

Products

Release

R2019b

Asked:

on 6 Mar 2020

Commented:

on 6 Mar 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!