SpectralConversion

描述

将矩阵应用于多波段影像以影响输出的颜色值。

讨论

有关此函数工作原理的详细信息,请参阅光谱转换栅格函数。

栅格对象的引用栅格数据集是临时的。要将其设置为永久,可以调用栅格对象的 save 方法。

语法

SpectralConversion (raster, conversion_matrix)
参数说明数据类型
raster

输入栅格。

它可以是镶嵌数据集或栅格目录中的栅格数据集,也可以是镶嵌数据集外部的栅格数据集。

Raster
conversion_matrix

用于转换输入栅格的矩阵。

用于执行此转换的公式如下:

Output Band_R = Weight_P * Band_C

其中:

  • Band_R 是输出波段,其中 R 是介于 1 到输出波段数之间的数字。
  • Weight_P 是一个逗号分隔的权重列表,每个输入波段 1 个权重。每个波段的权重总和应该等于 1。
  • Band_C 是输入影像,其中 C 是介于 1 和输入影像的波段数之间的一个数值。

Raster
返回值
数据类型说明
Raster

输出栅格。

代码示例

SpectralConversion 示例 1

此示例将矩阵应用于多波段影像以更改输出的颜色值。

from arcpy.ia import *
out_raster = SpectralConversion("3bands_raster",
                                [0.1, 0.9, 0, 0.3, 0, 0.7, 0.1, 0.1, 0.8])
out_raster.save("C:/arcpyExamples/outputs/out_spectralconversion_raster.tif")
SpectralConversion 示例 2

此示例将矩阵应用于多波段影像以更改输出的颜色值。

# Import system modules
import arcpy
from arcpy.ia import *

# Set the analysis environments
arcpy.env.workspace = "C:/arcpyExamples/data"

# Set the local variables
in_raster = "3bands_raster"
in_conversion_matrix =  [0.1, 0.9, 0, 0.3, 0, 0.7, 0.1, 0.1, 0.8]

# Execute SpectralConversion function
out_raster = SpectralConversion(in_raster, in_conversion_matrix)
#Output band 1 = (0.1 * InputBand1) + (0.9 * InputBand2) +(0 * InputBand3)
#Output band 2 = (0.3 * InputBand1) + (0 * InputBand2) +(0.7 * InputBand3)
#Output band 3 = (0.1 * InputBand1) + (0.1 * InputBand2) +(0.8 * InputBand3)

# Save output
out_raster.save("C:/arcpyExamples/outputs/out_spectralconversion_raster.tif")