altering matrices

need some help for matrices ...
Your program should calculate new matrices where each point consists of the average of the surrounding 8 points and itself.
x11 x12 x13
x21 x22 x23
x31 x32 x33
The new value of x22 is the average of x11…x33. For simplicity, you do not need to calculate the average for the pixels on the edge. thanks

 采纳的回答

convn(A,B,'same')
where A is your matrix, and B is a mask that determines the weightings of points for averaging.
doc convn
for more details

5 个评论

or conv2 for this case
what would be the most effective way to get the B value??
ones (plus appropriate modifications)
And to point you further in the right direction. What do you need to multiply 9 objects by before summing them to get their mean. Break down the definition of "mean".
8, not 9, if you're not including the middle point itself. BTW, think of that as a special case of a weighted average (with no weighting on x22)...

请先登录,再进行评论。

更多回答(1 个)

Oleg Komarov
Oleg Komarov 2011-5-5

0 个投票

If you have the Image Processing Toolbox use blockproc

类别

Community Treasure Hunt

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

Start Hunting!

Translated by