主要内容

在多光谱图像中寻找植被

这个例子展示了如何使用MATLAB®数组算法来处理图像和绘制图像数据。特别地,本例使用三维图像阵列,其中三个平面表示来自电磁波谱不同部分的图像信号,包括可见的红色和近红外(NIR)通道。

图像数据差异可用于区分图像的不同表面特征,这些特征在不同的光谱通道上具有不同的反射率。通过发现可见红色通道和近红外通道之间的差异,该示例确定了包含重要植被的区域。

步骤1:从多光谱图像文件中导入彩色红外通道

本例在覆盖法国巴黎部分地区的LANDSAT专题制图器图像中找到植被,该图像由Space Imaging, LLC提供。7个光谱通道(波段)以Erdas LAN格式存储在一个文件中。局域网文件,paris.lan,包含一张7通道512 * 512的陆地卫星图像。128字节的标头后面是像素值,像素值按频带数增加的顺序由行(BIL)交叉。像素值存储为无符号8位整数,以小端字节顺序存储。

第一步是使用MATLAB®函数从LAN文件读取波段4、3和2multibandread

通道4、3和2覆盖了近红外(NIR)、可见的红色和可见的绿色电磁频谱部分。当它们分别映射到RGB图像的红色、绿色和蓝色平面时,结果是标准的颜色-红外(CIR)复合。的最终输入参数multibandread指定要读取的频带和顺序,以便您可以在一个步骤中构造一个组合。

CIR = multibandread(“paris.lan”,[512, 512, 7],' uint8 = > uint8”...128年,“比尔”“ieee-le”, {“乐队”“直接”,[4 3 2]});

变量圆形的是512 × 512 × 3的类数组吗uint8.这是一个RGB图像,但有错误的颜色。图像显示时,红色像素值表示近红外通道,绿色像素值表示可见红色通道,蓝色像素值表示可见绿色通道。

在CIR图像中,水景非常暗(塞纳河),绿色植被呈现红色(公园和遮荫树)。图像的外观主要是由于健康的、富含叶绿素的植被在近红外波段有很高的反射率。因为近红外通道映射到合成图像中的红色通道,任何具有高植被密度的区域在显示中都显示为红色。一个明显的例子是图左边缘的亮红色区域,这是一个大公园(布洛涅森林公园),位于巴黎市中心西部,塞纳河拐弯处。

imshow (CIR)标题(圆形的复合的) text(size(CIR,2),size(CIR,1) + 15,...“图片由Space Imaging, LLC提供”...“字形大小”7“HorizontalAlignment”“对”

图中包含一个轴对象。标题为CIR Composite的axis对象包含图像、文本类型的2个对象。

通过分析近红外和红色通道之间的差异,您可以量化植被区域与其他表面(如路面、裸露的土壤、建筑物或水)之间光谱含量的对比。

步骤2:构建NIR-Red光谱散点图

当比较近红外通道(显示为红色像素值)和可见红色通道(显示为绿色像素值)时,散点图是一个自然的开始。将这些通道从原始CIR组合提取到单独的变量中非常方便。从类转换也很有帮助uint8去上课这样同样的变量就可以用在下面的NDVI计算中,也可以用在散点图中。

NIR = im2single(CIR(:,:,1));R = im2single(CIR(:,:,2));

将两个通道一起作为灰度图像查看,您可以看到它们看起来有多么不同。

imshow (R)标题(“可见红色带”

图中包含一个轴对象。标题为Visible Red Band的axis对象包含一个图像类型的对象。

imshow (NIR)标题(“近红外波段”

图中包含一个轴对象。标题为Near Infrared Band的轴对象包含一个图像类型的对象。

的简单调用情节命令在MATLAB中,您可以创建一个散点图,显示每个像素的一个点(在本例中为蓝色十字),其x坐标由其在红色通道中的值决定,y坐标由其在近红外通道中的值决定。

情节(R,近红外光谱,“b +”) ax = gca;斧子。XLim = [0 1];斧子。XTick = 0:0.2:1;斧子。YLim = [0 1];斧子。YTick = 0:0.2:1;轴广场包含(“红色级别”) ylabel (“NIR水平”)标题(“近红外与红色散点图”

图中包含一个轴对象。标题为NIR vs. Red散点图的axis对象包含512个类型为line的对象。

巴黎场景的散点图的外观是一个温带城市地区的特征,树木在夏天的叶子。在对角线附近有一组像素,近红外值和红色值几乎相等。这种“灰色边缘”包括路面和许多屋顶等特征。上面和左边是另一组像素,其近红外值通常远高于红色值。这个区域基本上包含了所有的绿色植被。

步骤3:通过MATLAB®Array算术计算植被指数

从散点图中观察到,采用近红外水平与红色水平的比值是定位包含密集植被的像素的一种方法。然而,对于两个通道中都有小值的暗像素,结果会有噪声。还要注意,叶绿素密度越大,近红外通道和红色通道之间的差异就越大。归一化差异植被指数(NDVI)是由第二个观测结果所推动的。它采用(近红外红色)差异,并将其正常化,以帮助平衡不均匀照明的影响,如云或山的阴影。换句话说,在逐像素的基础上,用近红外通道的值减去红色通道的值,然后除以它们的和。

ndvi = (NIR - R) ./ (NIR + R);

请注意MATLAB中的数组算术运算符如何在一个简单的命令中计算整个NDVI图像。回想一下变量R而且近红外光谱上课.这种选择比类使用更少的存储空间但与整数类不同的是,它还允许得出的比率假设值的平滑渐变。

变量归一化植被指数是一个二维数组的类理论最大范围为[-1 1]。您可以在显示时指定这些理论限制归一化植被指数作为一个灰度图像。

图imshow(归一化植被指数,“DisplayRange”,[-1 1])“归一化差异植被指数”

图中包含一个轴对象。标题为归一化差异植被指数的axis对象包含一个图像类型的对象。

在NDVI图像中,塞纳河看起来非常暗。靠近图像左边缘的大光区是之前提到的公园(布洛涅森林)。

步骤4:定位植被——NDVI图像的阈值

为了识别最可能包含重要植被的像素,对NDVI图像应用一个简单的阈值。

阈值= 0.4;Q = (ndvi >阈值);

所选像素的百分比是这样的

100 * numel(NIR(q(:))) / numel(NIR)
Ans = 5.2204

大约5%。

在显示逻辑(二进制)图像时,公园和其他较小的植被区域默认显示为白色

imshow (q)标题(“应用阈值的NDVI”

图中包含一个轴对象。带有标题NDVI和阈值应用的axis对象包含一个image类型的对象。

第五步:连接光谱和空间内容

为了将光谱和空间内容联系起来,您可以在nir -红色散点图上定位阈值以上像素,用对比色(绿色)用阈值以上像素重新绘制散点图,然后使用相同的蓝绿色配色方案重新显示阈值NDVI图像。正如预期的那样,NDVI值高于阈值的像素出现在其余像素的左上方,并对应于CIR复合显示中较红的像素。

创建散点图,然后显示阈值NDVI。

图subplot(1,2,1) plot(R,NIR,“b +”)举行情节(R (q(:)),近红外光谱(q (:))g +的)轴广场包含(“红色级别”) ylabel (“NIR水平”)标题(“近红外与红色散点图”) subplot(1,2,2) imshow(q) colormap([0 0 1;0 10 0]);标题(“应用阈值的NDVI”

图中包含2个轴对象。标题为NIR与红色散点图的坐标轴对象1包含513个类型为line的对象。带有标题NDVI和应用阈值的Axes对象2包含一个image类型的对象。

另请参阅

||

相关的例子

更多关于