Clear Filters
Clear Filters

finding block with minimum mean in cell array?

1 view (last 30 days)
Hi, I have a problem with finding blocks with minimum mean in cell array. I have a cell array like
salientMask_B128x128=mat2cell(salientMask,128 * ones(1, size(salientMask,1) / 128), 128 * ones(1, size(salientMask,2) / 128));
that divide a 512x512 image to blocks with size 128x128. now I want to find 4 first blocks which have minimum mean. how can I do it?
  1 Comment
nadia
nadia on 16 Feb 2016
Edited: nadia on 16 Feb 2016
the indices of these blocks are very important for me and I should find them.

Sign in to comment.

Accepted Answer

Jos (10584)
Jos (10584) on 16 Feb 2016
Get the mean for each block using cellfun, and apply a sort to get the indices in order.
M = cellfun (@(x) mean(x(:)), salientMask_B128x12) ;
[Msorted, idx] = sort(M(:)) ;
RequiredIndices = idx(1:4)
  1 Comment
nadia
nadia on 16 Feb 2016
thank you. it was very good. I did it with for loop but this is much better.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!