栅格那点儿事(四B)---多波段栅格数据的显示
多波段栅格数据的显示
我上面说了这么多,可能有的人会觉得平时也根本用不上。自然,说起影像数据,大家接触到对多的就是最最常见的航片或卫片。对于这种栅格数据呢,大多数的场景下,都只需实现一个效果,就是最接近真实视觉效果,跟到实际的地方亲眼所见一样。
在具体说这样的渲染在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)来实现。关于影像处理窗口的内容我们将在下面的下面的章节中展开了说,这里就先不罗嗦了。

明天晚些时候将会更新拉伸的内容, 阅读后可以有效的解决图像太暗或或者是黑色的问题。敬请期待~~\(≧▽≦)/~
栅格那点儿事(四B)---多波段栅格数据的显示的更多相关文章
- 栅格那点儿事(四E)
栅格金字塔 如果上面的部分都已经看过了,那么如何在ArcMap中更好的渲染一个栅格数据你已经知道了.可仅展示好一个栅格数据是不够的,我们还需要知道如何快速的展示一个栅格数据. 讲金字塔之前,先解释 ...
- 栅格那点儿事(四D)
统计值与空值 在上一篇的内容里反复提到了一个统计值.那这个统计值是怎么来的,具体是干嘛用的呢? 统计值主要就是用于栅格数据的显示和重分类,顾名思义就是一个波段中所有像元值的一个统计信息,最大值,最小值 ...
- 栅格那点儿事(四C)
栅格渲染之拉伸(Stretch) 现在我们知道如何在ArcGIS中渲染栅格数据了,但是还有一个常常会碰到的问题,尤其是在使用老版本的ArcGIS的时候,为啥我加了一个栅格数据进来,啥也看不见,是黑色的 ...
- 栅格那点儿事(四A)---栅格的显示与渲染
栅格的显示与渲染 通过前两章的学习,应该对栅格这个东西不那么陌生了.在这一个部分,我们来看看如何展示出栅格数据最美丽的地方,在ArcGIS中栅格的显示与渲染.在进入细节之前,先来看看在ArcGIS中都 ...
- 栅格那点儿事(二)---细看Raster属性
细看Raster属性 如果你已经看完了上一章,你已经了解了栅格数据是由一个个像元(Cell)按照行列方式构成的,每一个像元都有自己的像元值,并且这些像元值根据栅格类型的不同,可以代表反射值,或高程值, ...
- 栅格那点儿事(一)---Raster是个啥子东西
Raster是个啥子东西 现如今,不仅是在遥感应用中能看到花花绿绿的影像了,在GIS应用中也能随处看到她们的身影.在各种在线地图中,卫星影像作为底图与矢量的道路层叠加:高程DEM作为高程来源实现地形的 ...
- linux查看目录的四种方法(ls只显示目录)【转】
1.ls -d * amosli@amosli-pc:~$ ls -d * %APPDATA% develop many sorted.txt workspace bank Documents Mus ...
- ArcGIS 栅格数据教程
ArcGIS 栅格数据教程 全部8个教程,带详细操作步骤和原始数据. 技术咨询:谢老师,135_4855_4328,xiexiaokui#139.com ArcGIS 10.5 此教程中的练习将使用样 ...
- 聊聊GIS数据的四个分层与GIS服务
本篇不讨论矢量栅格数据的结构,也不讨论矢量与栅格的区别(即设定读者有这方面的基础). 版权声明:原创.博客园/B站/小专栏/知乎/CSDN @秋意正寒 转载请标注原地址并声明转载: https://w ...
随机推荐
- 树状数组 P3605 [USACO17JAN]Promotion Counting晋升者计数
P3605 [USACO17JAN]Promotion Counting晋升者计数 题目描述 奶牛们又一次试图创建一家创业公司,还是没有从过去的经验中吸取教训--牛是可怕的管理者! 为了方便,把奶牛从 ...
- c++将文件之间编译关系降到最低
类的定义式:类的定义,可以知道类的大小 类的实现: 类的声明:类的声明,表明,使用此类,编译不会出错 C++并没有把“将接口从实现中分离”做得很好.Class的定义式不只详细叙述了Class接口,还包 ...
- 重装iTunes 错误代码42401 解决办法
昨晚手贱点击从iTunes 11升级到iTunes12,之后发现iTunes 12各种卡,简直不能忍,然后直接拉iTunes 12到AppClear,然后安装iTunes 11,安装完成之后打开iTu ...
- __weak 和 __strong 还有Autorelease的用法
使用容器的block版本的枚举器时,内部会自动添加一个AutoreleasePool: Autorelease对象是在当前的runloop迭代结束时释放的,而它能够释放的原因是系统在每个runloop ...
- sublime中设置view_in_browser
使用package control 管理的view-in-browser插件,用户可以在浏览器中打开任意当前sublime Text中tab所处的文件,例如html.js等. 1.Ctrl+Shift ...
- win7 宽带连接 711错误
新装Win7系统,建立宽带连接后提示711错误,网上转一圈,方法不少,对症下药,不是很管用 以下是我总结的方法 win7 旗舰版 administration 用户 设置以下几个服务为手动或自动,并启 ...
- Unity 使用小技巧
本文介绍我遇到过我Unity使用小技巧,有了这些技巧,项目做起来,溜得飞起 1.快速设置相机的位置 2.固定面板
- P4824 [USACO15FEB]Censoring (Silver) 审查(银)
传送门 一个串的匹配肯定考虑KMP 那就暴力KMP 记录一下到每个字符时匹配的位置 找到一个符合的串就标记然后暴力回跳 感觉好像太暴力了... #include<iostream> #in ...
- c#工具类之Int扩展类
public static class IntHelper { /// <summary> /// 转换为2进制字符串 /// </summary> /// <param ...
- Netcore中实现字段和属性注入
https://www.cnblogs.com/loogn/p/10566510.html 简单来说,使用Ioc模式需要两个步骤,第一是把服务注册到容器中,第二是从容器中获取服务,我们一个一个讨论并演 ...