gpt4 book ai didi

image - 如何在栅格数据集上添加新的颜色图?

转载 作者:行者123 更新时间:2023-12-02 03:25:33 24 4
gpt4 key购买 nike

我正在尝试在 Matlab 中复制一些 ArcGIS 功能,特别是 Add Colormap功能。 ArcGIS 中的“添加颜色图”功能将 .clr 文件与 TIFF 图像相关联,以便图像在查看时具有与 TIFF 相关联的自定义配色方案。

我的 TIFF 图像最多有 6 个值 (1 - 6),采用无符号 8 位整数格式。您可以从屏幕截图中看到,一些图像只有 1、2 或 3 个值,而其他图像有 6 个值——导致屏幕颜色渲染可变。

我看到 Matlab 有 colormap功能,但是,它似乎只为图形设计,而不是为 TIFF 文件设计。我如何在 Matlab 中将颜色图与这些 TIFF 图像相关联,以便当我查看它们时(例如在 ArcGIS 中),它们具有自定义颜色方案?

enter image description here

最佳答案

正如一些评论者所指出的,colormap 功能实际上并不仅限于数字。颜色图概念实际上只是一个将特定值(索引)映射到特定颜色(通常为 RGB)的查找表。

如果您查看 imwrite 的文档,您将看到您实际上可以将颜色图指定为函数的第二个输入。

load mri
im = squeeze(D(:,:,12));

% This is an indexed image (M x N)

% Save without specifying a colormap
imwrite(im, 'nocolormap.tif')

enter image description here

现在用颜色图保存

imwrite(im, heat, 'colormap.tif')

enter image description here

另一种方法是在 MATLAB 中创建一个 RGB 图像并保存该图像而不向 imwrite 提供颜色图。您可以手动创建此图像

% Normalize a little bit for display
im = double(im) ./ max(im(:));
output = repmat(im, [1 1 3]); % Make the image (M x N x 3)

imwrite(output, 'rgb_grayscale.tif')

enter image description here

或者您可以使用内置函数 gray2rgbind2rgb使用特定颜色图将索引图像转换为 RGB 图像。

 rgb_image = gray2rgb(im, jet);
imwrite(rgb_image, 'rgb_jet.tif')

enter image description here

在所有这些中要记住的一件非常重要的事情是,默认情况下,任何 MATLAB 颜色图都只有 64 种颜色。所以如果你需要比这更多的颜色,你可以在构造颜色图时指定它

size(gray)

64 3

size(gray(1000))

1000 3

如果您尝试显示高保真数据,这一点尤为重要。

关于image - 如何在栅格数据集上添加新的颜色图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30559982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com