returning the indexes of an image displayed with a specific colormap

2 ビュー (過去 30 日間)
Mario Trevino
Mario Trevino 2012 年 8 月 14 日
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 件のコメント
Sean de Wolski
Sean de Wolski 2012 年 8 月 14 日
That's what IMAGE is.... It's just a 2d matrix of indices into the colormap.
Mario Trevino
Mario Trevino 2012 年 8 月 14 日
@ 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.

サインインしてコメントする。

採用された回答

Matt Fig
Matt Fig 2012 年 8 月 14 日
編集済み: Matt Fig 2012 年 8 月 14 日
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 件のコメント
Matt Fig
Matt Fig 2012 年 8 月 14 日
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 2012 年 8 月 14 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeBlue についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by