簡體   English   中英

如何在MATLAB中從JPEG文件中獲取色彩映射?

[英]How do I get a colormap from JPEG file in MATLAB?

我有一個海王星表面的jpg圖像文件。 我的目的是構建紋理映射(請參閱有關此主題的Matlab幫助 )。 我已經使用命令imread和文件,但jpg文件沒有colormap(一般來說,命令imread產生MxNx3矩陣,色圖是Mx3矩陣)。 我想知道如何做到這一點。

就像一個圖像比1000個單詞(有時)更有價值,我的目的是做一些類似於海王星的例子

MxNx3陣列是RGB陣列,即在位置(x,y),第三維對應於紅色,綠色和藍色值的三元組。

要使用色彩映射從RGB圖像更改為索引圖像,請使用RGB2IND函數

[indexedImage,colorMap] = rgb2ind(rgbImage, nColors); %# set nColors to e.g. 128 

根據Jonas的回答,這是我的問題的解決方案:

[X, map] = rgb2ind(imread('neptune.jpg'),128);
[x,y,z] = sphere(50);
x = 24764*x;
y = 24764*y;
z = 24764*z;
props.FaceColor= 'texture';
props.EdgeColor = 'none';
props.Cdata = flipud(X); % it is necessary to do this for getting the 
% appropiate image on the sphere
surface(x,y,z,props);
colormap(map);
axis equal;
view([71 14]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM