How can we find average of matrix, considering a 7 by 7 matrix in an image????

1 Comment

Guillaume
Guillaume on 29 Jan 2019
You'll have to be clearer about what you want. Providing an example of input and desired output really helps. What does considering a 7 by 7 matrix in an image mean?
Doesn't the mean function or the mean2 (requires image processing toolbox) function work for what you want? They work on any size matrix, including 7x7 ones.

Sign in to comment.

Answers (1)

Matt J
Matt J on 29 Jan 2019
Edited: Matt J on 29 Jan 2019
If you want a 7x7 sliding window, you would use convolution
out=conv2(yourImage,ones(7)/49,'valid');
If instead you want to decompose your image into non-overlapping 7x7 tiles, then I would recommend sepblockfun (Download).
out=sepblockfun(yourImage,[7,7],'mean');

4 Comments

Walter Roberson
Walter Roberson on 29 Jan 2019
filter2 can be used instead of conv2. There are some differences in internal optimization in some cases. conv2 flips the mask compared to filter2 .
viswanath reddy
viswanath reddy on 30 Jan 2019
i want to calculate mean for every pixel by moving the mask throughout the image starting as shown
Matt J
Matt J on 30 Jan 2019
OK. But your question has already been answered (so please Accept-click).
Guillaume
Guillaume on 30 Jan 2019
As Matt wrote, "If you want a 7x7 sliding window, you would use convolution" and he gave you the code.

Sign in to comment.

Asked:

on 29 Jan 2019

Commented:

on 30 Jan 2019

Community Treasure Hunt

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

Start Hunting!