0

我有一张在 MATLAB 中加载的地图图像。

在地图加载到 MATLAB 之前,外观是:

美国大陆:绿色

海洋:蓝色

加拿大:黄色

在我加载它显示的地图后:

加拿大和美国是一种颜色,但我需要按颜色将它们分开。

我的代码是:

im = double(imread('US.png'))
figure;
colormap summer;
...
4

1 回答 1

0

作为一个粗略的猜测,我假设您没有正确缩放强度(颜色)值,即不在 [0, 1] 中,因此任何高于 1 的值都由颜色图(任何颜色或灰度)映射到相同的值.

只要length(unique(im))==3(您在加载之前看到的三个灰度值的三个不同索引),那么以下两个都应该缩放您的视觉输出:

imshow(im, []); colormap summer;
imshow(im./max(im(:))); colormap summer;  
于 2012-08-31T00:40:40.903 回答