对多通道图像应用去相关拉伸
S = decorrstretch (A)
S = decorrstretch(名称,值…)
直接去相关性(没有对比度拉伸选项)的结果可能包括超出类支持的数值范围的值金宝appuint8
或uint16
(负数,或超过的值2 ^ 8 - 1
或2 ^ 16 - 1
分别)。在这些情况下,decorrstretch
将其输出固定到支持范围。金宝app
为类双
,decorrstretch
仅在提供值时箝位输出托尔
,指定一个线性对比度拉伸,然后夹紧到间隔[0 1]
.
除了线性拉伸通常会改变频带平均值和频带标准差外,可选参数没有相互作用。因此,当您可以指定目标均值
和目标西格玛
随着托尔
,其效果将被修改。
解相关拉伸是一种线性、像素级操作,其中特定参数取决于实际和期望(目标)图像统计信息的值。向量一个
在输入图像的每个波段中包含一个给定像素的值一个
转换为相应的像素b
在输出图像中B
详情如下:
b = T * (a - m) + m_target
.
一个
和b
是nBands
1向量,T
是一个nBands
——- - - - - -nBands
矩阵,米
和m_target
是nBands
乘以1的向量
米
包含图像中或指定的图像像素子集中每个波段的平均值
m_target
包含每个频带的期望输出均值。默认的选择是m_target = m
.
线性变换矩阵T
取决于以下因素:
图像的频带样本协方差,或指定的图像子集的频带样本协方差(与所使用的子集相同)米
),用矩阵表示浸
每个频带的期望输出标准差。这可以用对角矩阵表示,SIGMA_target
. 默认选择是SIGMA_target =σ
,在那里σ
为包含各波段样本标准差的对角线矩阵。σ
应该从相同的像素被使用米
和浸
,意思很简单:
SIGMA(k,k)=sqrt(Cov(k,k),k=1,…,nband)
.
浸
,σ
,SIGMA_target
是nBands
——- - - - - -nBands
,矩阵也是如此科尔
,λ
,V
下面的定义。
计算的第一步T
是对协方差矩阵进行特征分解吗浸
或者相关矩阵
Corr = inv(SIGMA) * Cov * inv(SIGMA)
.
在基于相关的方法中,科尔
分解为:Corr = V LAMBDA V'
.
在协方差法中,浸
分解为:Cov = V LAMBDA V'
.
λ
是特征值和的对角矩阵吗V
正交矩阵也变换吗科尔
或浸
来λ
.
下一步是计算每个频带的拉伸因子,即相应特征值的平方根反比。定义对角矩阵很方便年代
含有拉伸因子的,如:
S(k,k) = 1 /√(LAMBDA(k,k))
.
最后,矩阵T
是由
T = SIGMA_target V S V' inv(SIGMA)
(correlation-based方法)
或
T = SIGMA_target V S V'
(covariance-based方法)。
如果波段方差一致,两种方法的结果是相同的。
替代T
在for表达式中b
:
b = m_target + SIGMA_target V S V' inv(SIGMA) * (a - m)
或
b=m_目标+SIGMA_目标VS'*(a-m)
从右到左阅读,你可以看到去相关延伸:
从每个波段移除平均值
按其标准偏差对每个波段进行归一化(仅基于相关的方法)
将带旋转到的特征空间科尔
或浸
适用于一段年代
在特征空间中,使图像在特征空间中去相关和归一化
旋转回原始带空间,其中带保持非相关和标准化
根据每个波段重新调整SIGMA_target
恢复每个波段的平均值。