史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

发散colormaps

我之前承诺对发散colormaps帖子。发散colormap通常是由连接两个colormaps在一起有不同的配色方案。

这是一个发散colormapwww.ColorBrewer.org辛西娅·a·布鲁尔,地理,宾夕法尼亚州立大学。

rgb = [94 79 162 136 189 102 194 165 171 221 164 230 245 152 255 255 191 254 224 139 253 174 97 244 109 67 213 62 79 158 1 66)/ 255;b = repmat (linspace(0, 1200), 20岁,1);imshow (b, [],“InitialMagnification”,“健康”)colormap (rgb)

这colormap在中间最亮的颜色,这是典型的发散colormaps。

发散colormap用于比较数据值和参考价值的视觉亮点值是否高于或低于参考。

让我给你举个例子使用海洋表面温度。今天我学会了28摄氏度都有特定的意义在飓风的建模和预测。它被认为是飓风形成的最低温度。

使用美国国家航空航天局EOSDIS混响的工具下载,我发现,海洋表面温度Aqua卫星的8月1日2011年。数据作为netCDF文件到达。

amsre = ncread (“20110801 - amsre雷姆- l2p_gridded_25 amsre_20110801rt v01.nc”,“sea_surface_temperature”);大小(amsre)
ans = 1440 720 2

两架飞机包含数据从两个不同的轨道。

orbit1 = flipud (amsre (:,: 1) ');orbit2 = flipud (amsre (:,: 2) ');imshow (orbit1 [],“InitialMagnification”,“健康”)标题(“轨道1”)
imshow (orbit2 [],“InitialMagnification”,“健康”)标题(《轨道2》)

黑色区域是nan代表缺失的数据。结合这两个轨道的最大值。

海温= max (orbit1 orbit2);imshow (sst、[]“InitialMagnification”,“健康”)

现在抓取数据的一个子集,包括大西洋的一部分。

ssta = sst (180:400,330:700);imshow (ssta, [],“InitialMagnification”,“健康”)

应用发散colormap。

colormap colorbar (rgb)

好的,我马上看到一个问题。它看起来像我们的数据在开尔文。让我们解决这个问题。

ssta = ssta - 273.15;imshow (ssta, [],“InitialMagnification”,“健康”)colormap colorbar (rgb)

现在我想利用我们的发散colormap强调兴趣,温度28度。为此,我将使用的这一属性轴对象。这一属性是一个双元素向量。第一个元素告诉我们数据值映射到最低colormap颜色,并告诉我们第二个元素数据值映射到最高colormap颜色。MATLAB计算这些值自动基于数据的范围。

get (gca),“爬”)
ans = -1.9500 - 33.6000

让中间colormap颜色代表28度,我们需要选择两个这一值,这样他们也同样远离28度。几次试验之后,我选定了一个从22度到34度。

集(gca),“爬”34,[22])

看起来更好,但它不是有用的缺失数据显示使用底部colormap的颜色。我将使用这个程序解决这个问题。

  1. 构造一个灰色面具图像(真彩格式)。
  2. 上面显示我们的海洋表面温度的形象。
  3. 设置AlphaData灰色面具的形象,使海洋表面温度显示通过。

这里是前两个步骤。

掩码= isnan (ssta);graymask = 0.5 *面具;graymask = repmat (graymask, 1, 1, 3);持有h = imshow (graymask);持有

缺失值显示为灰色,但是我们不能看到海洋表面温度。通过使用NaN-mask作为覆盖的AlphaData形象。

h。AlphaData =面具;%这个语法需要MATLAB R2014b。

气温接近阈值显示使用黄色,最亮的颜色colormap和中间的一个。显示温度高于阈值用橙子和红酒,当温度低于使用绿色和蓝色显示。

在我走之前,我想喊一声开发区域博客,今天刚刚开始。如果你是高级软件开发人员的话题,我鼓励你去那边看看。




发表与MATLAB®R2014b

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。