MultivariateAlterationDetector¶
基于多变量变化检测(MAD)算法的变化检测
描述¶
这个应用程序使用多变量变化检测器(MAD)执行两个多光谱图像之间的变化检测 [1] 算法。
MAD算法生成一组N个更改图(其中N是第一个和第二个输入图像中的最大波段数),具有以下属性:
- 变化图是来自图像1的频带和来自图像2的频带的一对线性组合的差值,
- 每个更改图都与其他更改图相互垂直。
这是一种统计方法,可以处理不同的模式,甚至不同的波段和图像之间的波段数量。
该应用程序将所有的变化地图输出到一个单一的多波段图像。更改图按相关性递增进行排序。
该应用程序还将打印以下信息:
- Mean1和Mean2是两个输入图像的带的平均值,
- V1和V2是应用于输入图像1和输入图像2以构建变化图的两个线性变换,
- Rho,与每个变化图相关联的相关性向量。
本应用程序中使用的OTB滤波器是从作者在此处提供的MatLab代码中实现的 [2] 。两种情况(相同和不同的频段数)都通过比较输出图像和由MatLab代码产生的输出进行了验证,并使用Octave从MatLab代码生成了用于测试的参考图像。
参数¶
Input Image 1 -in1 image Mandatory
Multiband image of the scene before perturbations
Input Image 2 -in2 image Mandatory
Mutliband image of the scene after perturbations.
Change Map -out image [dtype] Mandatory
Multiband image containing change maps.
Available RAM (MB) -ram int Default value: 256
Available memory for processing (in MB).
实例¶
从命令行执行以下操作:
otbcli_MultivariateAlterationDetector -in1 Spot5-Gloucester-before.tif -in2 Spot5-Gloucester-after.tif -out detectedChangeImage.tif
来自Python的评论:
import otbApplication
app = otbApplication.Registry.CreateApplication("MultivariateAlterationDetector")
app.SetParameterString("in1", "Spot5-Gloucester-before.tif")
app.SetParameterString("in2", "Spot5-Gloucester-after.tif")
app.SetParameterString("out", "detectedChangeImage.tif")
app.ExecuteAndWriteOutput()
局限性¶
输入图像1和2应共享完全相同的原点、间距、大小和投影(如果有)。
另请参阅¶
[1] 尼尔森,A.和康拉德森,K.(1997)。多光谱、双时相图像数据的多变量变化检测:变化检测研究的一种新方法。