理解“像元”、“波段”与“通道”

结论

	像元:组成数字化影像的最小单元。
	波段:图像中的图层,例如卫星图像或数字照片中的图像。
	通道:计算机屏幕上显示图像的不同颜色或光。
	波段与通道:它们实际上是相同的,但区别仅在于术语。波段用于表示卫星图像中的层数,例如波段1,波段2等,而通道用于表示其所属的颜色或波长,例如红外,短波等。

像元

	在我们深入研究遥感影像之前,我们需要了解构成影像的一些基本组件。 图像由排列成行和列的网格的各个元素组成。 这些元素称为像素。 实际上,单词“ pixel”是从“ picture element”派生的。 当我们放大图像时,我们开始看到这些单独的像素(图1)。 通常,当我们查看图像时,这些像素是如此之小,以至于我们看不到单个像素(图2)。

图1:放大了6倍的Landsat Thematic Mapper图像。放大后,我们可以看到构成图像的各个像素。
图2:图1中使用的图像没有放大, 各个像素不再可见
当我们在计算机屏幕上查看图像时,它看起来是二维的,但除了像素的行和列之外,图像还具有图层。 这些层通常称为波段或通道。 电气工程师使用术语“波段”和“通道”来描述一系列波长(颜色)。 由于这些图像层是使用特定波长的光创建的,因此在适当位置使用术语“波段”和“通道”层。 在整个CBC指南中,我们使用“波段”一词来指代图像中的图层,例如卫星图像或数字照片中的图像。 我们使用“通道”来表示用于在计算机屏幕上显示图像的不同颜色或光。
现在我们知道图像具有三维(行,列和波段),但是这些像素和图层如何协同工作以在计算机屏幕上生成美观的图像? 电脑显示器使用光的三种原色。 红色,绿色和蓝色,以创建我们看到的图像。 我们称这些为红色,绿色和蓝色通道。 RGB交互式工具说明了如何混合原色以创建任何颜色。
通过从多波段图像中选择三个波段并用红色,绿色或蓝色的光照射每个波段,我们可以创建彩色图像。图3中对此进行了说明。可视化此过程的另一种方法是查看单个像素是如何合成的。图4示出了针对单个像素的相同过程。在图的左侧,我们看到一个像素具有三层。分别对应于计算机屏幕发出的红色,绿色和蓝色光。这些层中的每一个都由一个数字表示,像素值通常在0到255之间,其中“ 0”代表黑色(无光),“ 255”代表非常明亮的光。当这些层中的每一层都被光的原色之一,滤色器和层叠加在一起时,会为该像素生成适当的颜色。如果我们要查看的像素来自黑白图像,我们仍将使用三种原色在计算机监视器上创建图像。通过为每个像素层使用相同的像素值来完成此操作,如图5所示。
图3:使用卫星图像的三个波段创建彩色图像
图4:从计算机监视器上的彩色图像创建单个像素的过程
图5:从计算机监视器上的黑白图像创建单个像素的过程
即使黑白图像只有一个波段,图5证明了使用了三种原色的光在计算机监视器上创建图像。 如图4所示,使用数码相机采集的彩色图像具有三个波段,使用遥感仪器采集的许多图像可以具有数十个甚至数百个波段。 要从具有多个波段的图像制作彩色图像,我们需要选择三个波段,这些波段可以分配给计算机显示器中的3个颜色通道。 使用波段组合工具对Landsat增强型主题映射器Plus(ETM +)图像,ASTER图像和MODIS图像使用不同的波段组合进行试验。 要查看各个频段的外观,请在三个下拉菜单的每一个中选择相同的频段号。
选择适当的波段来创建有用和有吸引力的图像需要一些经验。 试验不同的组合通常是找到最能突出显示感兴趣功能的组合的好方法。 有关如何执行此操作的更多信息,请参阅指南,使用Landsat影像为RGB影像选择适当的波段组合。

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要通过经纬度获取4个波段的像值,同样需要使用地理信息系统(GIS)软件和数据,以及GDAL库。以下是一个示例代码,演示如何使用GDAL库获取给定经纬度处的4个波段值: ```python from osgeo import gdal, osr # 打开 GeoTIFF 文件 filename = "path/to/geotiff.tif" ds = gdal.Open(filename) # 获取地理参考信息 prj = ds.GetProjection() srs = osr.SpatialReference(wkt=prj) # 获取像大小和图像范围 transform = ds.GetGeoTransform() xsize = ds.RasterXSize ysize = ds.RasterYSize # 计算像行列号 lon = 121.5 # 经度 lat = 31.3 # 纬度 x = int((lon - transform[0]) / transform[1]) y = int((lat - transform[3]) / transform[5]) # 读取4个波段的像值 band1 = ds.GetRasterBand(1) data1 = band1.ReadAsArray(x, y, 1, 1) band2 = ds.GetRasterBand(2) data2 = band2.ReadAsArray(x, y, 1, 1) band3 = ds.GetRasterBand(3) data3 = band3.ReadAsArray(x, y, 1, 1) band4 = ds.GetRasterBand(4) data4 = band4.ReadAsArray(x, y, 1, 1) # 输出4个波段的像值 print("波段1像值:", data1[0][0]) print("波段2像值:", data2[0][0]) print("波段3像值:", data3[0][0]) print("波段4像值:", data4[0][0]) ``` 在上面的示例中,我们打开一个GeoTIFF文件,获取地理参考信息和图像范围,计算给定经纬度处的像行列号,然后读取4个波段的像值并输出。注意,这只是一个简单的示例,实际应用中可能需要更复杂的处理和数据预处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值