Filter löschen
Filter löschen

returning the indexes of an image displayed with a specific colormap

1 Ansicht (letzte 30 Tage)
hi, does anyone know hot to get the numeric indexes of a displayed image with a specific user defined colormap???
for example imagesc(IMAGE) colormap(user_colormap)
displays an image mapped into the colormap....and I want the numeric representation of the displayed image.
  5 Kommentare
Sean de Wolski
Sean de Wolski am 14 Aug. 2012
That's what IMAGE is.... It's just a 2d matrix of indices into the colormap.
Mario Trevino
Mario Trevino am 14 Aug. 2012
@ Matt: m-by-n only. @ Sean: I know! yet the colormap is transforming the matrix, and I want THAT transformation (or mapping), and not the original one. I want to recover the transformed 2d matrix after using imagesc with a specific user defined colormap.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt Fig
Matt Fig am 14 Aug. 2012
Bearbeitet: Matt Fig am 14 Aug. 2012
If I understand you correctly, you want (for example):
A = rand(4);
C = [0 0 0;.5 .5 .5;1 1 1];
imagesc(A);
colormap(C);
% idx = interp1([0 .5 1],[0 .5 1],A,'nearest')
idx = ceil(A*size(C,1))
  7 Kommentare
Matt Fig
Matt Fig am 14 Aug. 2012
I don't know what you mean by holding with zeros. But the reshape function does pretty much what the name indicates. Take a look:
X = [1 0 2 0 3 0 4 0 5 0 6 0]
reshape(X,4,3)
reshape(X,3,4)
reshape(X,6,2)
reshape(X,2,6)
reshape(X,12,1)
Mario Trevino
Mario Trevino am 14 Aug. 2012
you are absolutely right Matt. What I saw is that none of the elements from A (or idx) can be 0 for the reshape function to work.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by