Split values in an cell array by using a threshold

2 visualizaciones (últimos 30 días)
Sabari G
Sabari G el 19 de Mayo de 2020
Comentada: Sabari G el 20 de Mayo de 2020
Hello everyone.I have a cell array of variable (A), 1x91.In each cell it has an array of size 256x256.I would like to threshold each array so that elements lesser than or greater than a given threshold value are stored in different variable.Your help is really appreciated.

Respuesta aceptada

Matt J
Matt J el 19 de Mayo de 2020
Editada: Matt J el 19 de Mayo de 2020
One way,
A_lower = cellfun(@(x) x(x<threshold), A, 'uni',0);
A_upper = cellfun(@(x) x(x>threshold), A, 'uni',0);
  4 comentarios
Matt J
Matt J el 19 de Mayo de 2020
In the case where you got empty matrices, it because none of your data fall below 0.5. In the case where you got error messages, it is because your A variable is not a cell array.
Below is a small example showing that the technique will work when properly applied:
>> A={rand(3), rand(3)}; A{:}
ans =
0.5407 0.9734 0.1941
0.8929 0.6006 0.7933
0.9092 0.8582 0.8144
ans =
0.5087 0.0331 0.7163
0.3399 0.1797 0.3758
0.6815 0.7166 0.3589
>> A_lower = cellfun(@(x) x(x<0.5), A, 'uni',0); A_lower{:}
ans =
0.1941
ans =
0.3399
0.0331
0.1797
0.3758
0.3589
Sabari G
Sabari G el 20 de Mayo de 2020
Thanks a lot!! It works

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by