如何在 MATLAB 中从 JPEG 文件获取颜色图?

发布于 2024-12-12 02:30:52 字数 428 浏览 0 评论 0原文

我有一个海王星表面的 jpg 图像文件。我的目的是构建纹理映射(请参阅 Matlab 帮助这个主题)。我已对文件使用了命令 imread,但 jpg 文件没有颜色图(一般来说,命令 imread 生成 MxNx3 矩阵,颜色图是 Mx3 矩阵)。我想知道我该怎么做。

就像图像比 1000 个单词(有时)更有价值一样,我的目的就是做类似的事情 示例,但适用于海王星。

I have a jpg image file of the surface of Neptune. My intention is to build a texture mapping (see Matlab help about this topic). I have used the command imread with the file but jpg files have not a colormap (in general, the command imread produces an MxNx3 matrix and a colormap is a Mx3 matrix). I would like to know how I could do it.

Like an image is more valuable than 1000 words (sometimes), my purpose is doing something like that example but for Neptune.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

命比纸薄 2024-12-19 02:30:52

MxNx3 数组是RGB 数组,即在位置(x,y) 处,第三维对应于红、绿、蓝值的三元组。

要将 RGB 图像更改为带有颜色图的索引图像,请使用函数 RGB2IND

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

The MxNx3 array is a RGB array, i.e. at position (x,y), the third dimension corresponds to a triplet of red, green, and blue values.

To change from an RGB image to a indexed image with a colormap, you use the function RGB2IND

[indexedImage,colorMap] = rgb2ind(rgbImage, nColors); %# set nColors to e.g. 128 
木森分化 2024-12-19 02:30:52

这是根据乔纳斯的回答我的问题的解决方案:

[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]);

Here is the solution for my question based on the answer of 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]);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文