主要内容

在多光谱图像中寻找植被

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

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

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

这个例子在覆盖法国巴黎部分地区的LANDSAT专题制图器图像中找到了植被,该图像由空间成像有限责任公司提供。七个光谱通道(波段)以Erdas LAN格式存储在一个文件中。局域网文件,paris.lan,包含7通道512 × 512陆地卫星图像。128字节的报头后面是像素值,这些像素值按频带数递增的顺序行带交错。像素值以无符号8位整数的形式存储,采用小端字节顺序。

第一步是使用MATLAB®函数从LAN文件读取频带4,3和2multibandread

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

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

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

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

imshow (CIR)标题(圆形的复合的) text(size(CIR,2),size(CIR,1) + 15,“图片由空间成像有限责任公司提供”“字形大小”7“HorizontalAlignment”“对”

图中包含一个轴对象。标题为CIR Composite的轴对象包含2个类型为image, text的对象。

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

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

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

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

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

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

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

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

图中包含一个轴对象。标题为“近红外波段”的轴对象包含一个图像类型的对象。

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

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

图中包含一个轴对象。标题为NIR vs. Red Scatter Plot, xlabel Red level, ylabel NIR level的轴对象包含512个类型为line的对象。

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

步骤3:通过MATLAB®数组算法计算植被指数

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

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

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

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

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

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

在NDVI图像中,塞纳河显得很暗。靠近图像左边缘的大片光亮区域是前面提到的公园(Bois de Boulogne)。

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

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

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

所选像素的百分比如下

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

或者说5%左右。

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

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

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

步骤5:链接光谱和空间内容

为了将光谱和空间内容联系起来,您可以在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;[10];标题(“应用阈值的NDVI”

图中包含2个轴对象。轴对象1,标题为NIR vs. Red Scatter Plot, xlabel红色级别,ylabel NIR级别包含513个类型为line的对象。标题为NDVI并应用阈值的轴对象2包含一个图像类型的对象。

另请参阅

||

相关的例子

更多关于