SpectralConversion

Краткая информация

Применяет матрицу к многоканальному изображению, чтобы влиять на цветовые значения выходных данных.

Обсуждение

Для получения подробной информации о том, как функция работает, см. раздел о растровой функции Спектральное преобразование.

Указанный набор растровых данных является временным для растрового объекта. Чтобы сделать его постоянным, вы можете вызвать метод растрового объекта save.

Синтаксис

SpectralConversion (raster, conversion_matrix)
ПараметрОписаниеТип данных
raster

The input raster.

Это может быть набор растровых данных в наборе данных мозаики или каталоге растров, или набор растровых данных вне набора данных мозаики.

Raster
conversion_matrix

Матрица используется для конвертации входного растра.

Уравнение, используемое для выполнения конвертации:

Output Band_R = Weight_P * Band_C

, где:

  • Band_R – это выходной канал, где N – это число от 1 до количества выходных каналов.
  • Weight_P – это список весов с запятой в качестве разделителя, 1 для каждого входного канала. Сумма весов для каждого канала должна равняться 1.
  • Band_C – это входное изображение, где Q – это число от 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")