Effacer les filtres
Effacer les filtres

losing CData after replotting image in subplot ?

1 vue (au cours des 30 derniers jours)
LO le 6 Mar 2021
Commenté : LO le 7 Mar 2021
I am making a montage of image panels, which look like BW but are not binary.
I am then taking the CData of the montage and , using imagesc, I would like to recolorize my image
so I set the proper x,y size (obtained from montage object) and add the montage CData info.
in a new figure I obtain the desired colored montage. In the same subplot panel no. Even after clearing or removing the montage.
why is that ?
adding a color map makes the image binary. I add the line just for testing
cdata = mo.CData;,cla(ax325)
colormap parula

Réponse acceptée

Walter Roberson
Walter Roberson le 6 Mar 2021
By default, colormap() applies to the whole figure. You can make it apply to a specific axes by passing the handle of the axes.
When you ask for the cdata property of an image that has been colorized using colormap, you get the data that is held in the object, not the colorized version of the data.
The easiest way to extract the rgb being displayed by a colormapped object is to use the File Exchange contribution freezecolors() and then extract the cdata.
  1 commentaire
LO le 7 Mar 2021
thanks Walter, the function you suggested indeed allows me to use different color mapping but somehow I lose the information of the CData.
Without freezeColor I can replot on a new figure a RGB color map of what I need (still in the subplot is BW).
with the freezeColor function the map can be colored differently but somehow it loses depth (it looks binary, although colored in blue/yellow, when using the "parula" colormap, for instance).

Connectez-vous pour commenter.

Plus de réponses (0)


En savoir plus sur Colormaps dans Help Center et File Exchange


Community Treasure Hunt

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

Start Hunting!

Translated by