如何在 Matlab 中显示彩色灰度栅格?
How can I display a grayscale raster in color in Matlab?
我有一个表示高程的陆地的 .tif 文件。我想用颜色渐变而不是灰度渐变来显示此栅格。我将如何在 Matlab 中执行此操作?
我查看了与 tiff 相关的信息:
[Z, R] = geotiffread('Landmass.tif')
表示标题 'ColourType' 为 'grayscale'。我试图将其更改为 'winter'(matlabs in-built 配色方案之一),但没有任何区别。
目前我正在使用以下命令来显示 tiff:
[Z, R] = geotiffread('Landmass.tif');
e=uint8(Z);
mapshow(e,R);
所有较高的区域都是白色的,其他地方都是黑色的……甚至在陆地周围也是如此(我想我可能不得不 cut/mask 陆地才能摆脱)。
所有的黑色都让我很难在 tiff 上显示其他形状文件,所以我想将配色方案从灰度更改为更亮的颜色。
我该怎么做?
colormap winter
不起作用的原因是因为 mapshow(e,R);
的输出是 RGB 图像格式。
即使显示的图像是灰色的,它实际上是 RGB,当每个像素 r=g=b 时。
我以 Matlab mapshow
为例,将 boston
图像转换为灰度,并使用 mapshow
.
对于使用 colormap winter
,我使用 getimage
获取图像,使用 rgb2gray
将其转换为灰度,然后 colormap winter
在显示图像时起作用。
检查以下示例:
[boston, R] = geotiffread('boston.tif');
boston = rgb2gray(boston); %Convert to Grayscale for testing.
figure
mapshow(boston, R);
axis image off
%Get image data, note: size of I is 2881x4481x3 (I is not in Grayscale format).
I = getimage(gca);
%Convert I from RGB (R=G=B) formtat to Grayscale foramt, note: size of J is
%2881x4481 (J is Grayscale format).
%%%%%%%Avoid image being rotated%%%%%%%%%%%%%
%Close old image and open new figure
close Figure 1
Figure
J = rgb2gray(I);
imshow(J);
colormap winter %Now it's working...
具有冬季色彩图的波士顿:
我有一个表示高程的陆地的 .tif 文件。我想用颜色渐变而不是灰度渐变来显示此栅格。我将如何在 Matlab 中执行此操作?
我查看了与 tiff 相关的信息:
[Z, R] = geotiffread('Landmass.tif')
表示标题 'ColourType' 为 'grayscale'。我试图将其更改为 'winter'(matlabs in-built 配色方案之一),但没有任何区别。
目前我正在使用以下命令来显示 tiff:
[Z, R] = geotiffread('Landmass.tif');
e=uint8(Z);
mapshow(e,R);
所有较高的区域都是白色的,其他地方都是黑色的……甚至在陆地周围也是如此(我想我可能不得不 cut/mask 陆地才能摆脱)。 所有的黑色都让我很难在 tiff 上显示其他形状文件,所以我想将配色方案从灰度更改为更亮的颜色。 我该怎么做?
colormap winter
不起作用的原因是因为 mapshow(e,R);
的输出是 RGB 图像格式。
即使显示的图像是灰色的,它实际上是 RGB,当每个像素 r=g=b 时。
我以 Matlab mapshow
为例,将 boston
图像转换为灰度,并使用 mapshow
.
对于使用 colormap winter
,我使用 getimage
获取图像,使用 rgb2gray
将其转换为灰度,然后 colormap winter
在显示图像时起作用。
检查以下示例:
[boston, R] = geotiffread('boston.tif');
boston = rgb2gray(boston); %Convert to Grayscale for testing.
figure
mapshow(boston, R);
axis image off
%Get image data, note: size of I is 2881x4481x3 (I is not in Grayscale format).
I = getimage(gca);
%Convert I from RGB (R=G=B) formtat to Grayscale foramt, note: size of J is
%2881x4481 (J is Grayscale format).
%%%%%%%Avoid image being rotated%%%%%%%%%%%%%
%Close old image and open new figure
close Figure 1
Figure
J = rgb2gray(I);
imshow(J);
colormap winter %Now it's working...
具有冬季色彩图的波士顿: