去相关拉伸增强了具有显著的频带相关性的图像的颜色分离。夸张的色彩改善了视觉解释,使特征识别更容易。你用去相关拉伸decorrstretch
函数。看到线性对比拉伸如何在去相关拉伸中添加一个可选的线性对比拉伸。
彩色波段的数量,nband,在图像中,通常是三个。但是你可以应用去相关拉伸而不管颜色带的数量。
将图像的原始颜色值映射到一组范围更广的新颜色值。将每个像素的颜色强度转换为nband -by- nband协方差或相关矩阵的颜色特征空间,拉伸使波段方差相等,然后再转换回原始的颜色波段。
要定义频带统计信息,可以使用整个原始图像或子集
选项,它的任何选定子集。
这个例子展示了如何对一个图像的三个颜色带进行去相关拉伸。图像的彩色波段散点图显示了波段是如何去相关和均衡的。
执行解相关延伸
文件中可用的映像库中读取映像imdata
文件夹中。本例使用的是小科罗拉多河的陆地卫星图像。该图像有七个波段,但只是读出了三种可见的颜色。
一个= multibandread (“littlecoriver.lan”, [512, 512, 7],...' uint8 = > uint8”, 128,“比尔”,“ieee-le”,...{“乐队”,“直接”, 3 2 1});
执行去相关拉伸。
B = decorrstretch(一个);
显示原始图像和处理后的图像。比较这两张图片。原始图像有一个强烈的紫色(红蓝)色调,而转换后的图像有一个稍微扩大的颜色范围。
imshow (A)标题(“小科罗拉多河图像”)
imshow (B)标题(“去相关拉伸后的小科罗拉多河图像”)
创建一个色带散点图
首先分离原始图像的三个彩色通道。
(rA、gA、bA) = imsplit(一个);
对图像进行去相关拉伸后的三个颜色通道进行分离。
(rB、gB、bB) = imsplit (B);
显示原始图像的颜色散点图。然后显示图像去相关拉伸后的颜色散点图。
图plot3 (rA (:), gA(:),英航(:),“。”网格)在包含(“红色(带3)”) ylabel (“绿色(带2)”) zlabel (“蓝色(带1)”)标题(“去相关拉伸前的颜色散点图”)
图plot3 (rB (:), gB (:), bB (:),“。”网格)在包含(“红色(带3)”) ylabel (“绿色(带2)”) zlabel (“蓝色(带1)”)标题(“去相关拉伸后的颜色散点图”)
添加线性对比度拉伸通过进一步扩大颜色范围来增强结果图像。下面的示例使用托尔
选择饱和等分数的图像在高和低强度。没有托尔
选项,decorrstretch
不适用线性对比拉伸。
看到stretchlim
关于计算饱和限制的函数参考页。
请注意
在执行去相关拉伸之后,可以将线性对比拉伸作为单独的操作应用,使用stretchlim
和imadjust
.然而,这种替代方法往往会带来较差的结果uint8
和uint16
图像,因为像素值必须固定到[0 255](或[0 65535])。的托尔
选项decorrstretch
绕过这个限制。
阅读小科罗拉多河的陆地卫星图像的三个可见颜色通道。
一个= multibandread (“littlecoriver.lan”, [512, 512, 7],...' uint8 = > uint8”, 128,“比尔”,“ieee-le”,...{“乐队”,“直接”, 3 2 1});
应用去相关拉伸,指定线性对比度拉伸。设置的值“托尔”
To 0.01将每个波段内转换后的颜色范围映射到0.01到0.99之间的标准化区间,饱和度为2%。
C = decorrstretch (,“托尔”, 0.01);imshow (C)标题(["小科罗拉多河在去相关拉伸后",...线性对比度拉伸的])