多波段栅格数据的显示
我上面说了这么多,可能有的人会觉得平时也根本用不上。自然,说起影像数据,大家接触到对多的就是最最常见的航片或卫片。对于这种栅格数据呢,大多数的场景下,都只需实现一个效果,就是最接近真实视觉效果,跟到实际的地方亲眼所见一样。
在具体说这样的渲染在ArcGIS中怎么实现的,有什么地方可以调优之前,我们还需要回顾一下前文提到的一个概念,波段。我们有说过单波段的影像一般是灰度图,而全彩色的都是多波段的影像。那么为什么彩色的影像都是有3个或者更多波段组成,还有多个灰度图是如何渲染成彩色的呢?
同彩色照片的打印,彩色电视的成像原理一样,在ArcGIS中也是通过RGB这三基色来对栅格进行渲染的。具体点说,就是将三个波段的栅格分别通过红Red绿Green蓝Blue三个通道加载,彩色的栅格就被渲染出来了。也可以这样简单理解,通过红色通道加载会将灰度图变成红色,绿色通道加载后变成绿色等,而他们混合起来的时候,就像小时候玩过的调色板,按不同比例混合的三种颜色会变成其它各种各样的颜色,如下图所示。这就是为什么我们在ArcCatalog中查看彩色影像时,可以在属性中看到Number of Bands都是大于或者等于3的。在ArcMap中使用Identify 按钮,在彩色的栅格上点击,也会返回三个值,例如Red 168,Green 132,Blue 113。
为什么我们通过这种方式来显示彩色的栅格的时候,能够得到与我们在真实世界里看到的差不多的颜色呢?
简单讲一个遥感的小常识。在我们眼中看到的花红柳绿,碧海白沙,这些事物颜色上的区别全部都是由于这些物体对太阳光中不同波段的光的反射与吸收的差异形成的。通过相机或者遥感传感器将物体对不同光的反射值分别记录下来,就有了不同的波段数据。比如我们得到的Landsat卫星遥感影像一景包含有7个栅格,每个栅格分别对应同一位置上的物体对该波段光谱的反射值, 包括蓝,绿,红,近红外,中红外,热红外和微米全色。之所以记录这么多波段的反射值,是为了在数据分析中起到重要的作用的。关于传感器的内容和一些遥感方向的应用在以后的扩展性章节中还会再讲到。
现在回到栅格渲染这个话题中。那么我们如何确定这个真实世界的色彩被还原呢?
首先,依照上文的小常识,可以肯定的是,通过传感器得到的RGB的值必须通过对应的RGB的通道加载,这样组合渲染出来才能还原出我们在真实世界中人眼所观察到的景象。对于巨大多数航拍回来的影像,都是已经处理完成的,在ArcMap中加载就可以正常显示,不需要单独设置了。可是对于卫星影像来说,由于其一般包含4个或更多的波段,我们在加载的时候就需要注意通过元数据,或者传感器信息来确认加载的顺序。如果第一次加载错了,还可以通过直接双击图层列表中的RGB的符号来进行设置,或者在Symbology中的下来菜单中重新定义顺序。
还有一种情况是这样,我们在拿到数据方提供的卫星影像时,是7个分开存储的单波段的影像,在ArcMap中全部加载进来也还是灰色的。如何将多个单独的灰色影像以真彩色的方式渲染出来呢?
首先要注意的一点是,与专业的遥感软件不同,ArcGIS中不提供直接在一个栅格上叠加其他栅格来进行渲染,也就是说不能简单在Symbology中设置一下来实现RGB的渲染,只能通过事先将不同波段的影像数据组合在一起,然后在进行加载。
另外,由于不能在指定的波段上选择Load Data,所以也不能通过导入数据库的方式将不同波段的栅格组合在一起。到10.1版本为止,只有两种方式可以将多个单波段的数据进行RGB的渲染,这两种方式都是通过同一个原理来实现的,见下图。一种是通过工具Composite Bands,在Data Management Tools的工具箱中可以找到。另外一种则是在Image Analysis Window中通过栅格函数(Function)来实现。关于影像处理窗口的内容我们将在下面的下面的章节中展开了说,这里就先不罗嗦了。
明天晚些时候将会更新拉伸的内容, 阅读后可以有效的解决图像太暗或或者是黑色的问题。敬请期待~~\(≧▽≦)/~