Filter löschen
Filter löschen

finding block with minimum mean in cell array?

1 Ansicht (letzte 30 Tage)
nadia
nadia am 16 Feb. 2016
Kommentiert: nadia am 16 Feb. 2016
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 Kommentar
nadia
nadia am 16 Feb. 2016
Bearbeitet: nadia am 16 Feb. 2016
the indices of these blocks are very important for me and I should find them.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jos (10584)
Jos (10584) am 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 Kommentar
nadia
nadia am 16 Feb. 2016
thank you. it was very good. I did it with for loop but this is much better.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by