基于MATLAB的数字图像处理(三)——地物提取与变化检测

在图像处理上,常常使用各种指数,例如:

归一化差分植被指数

NDVI=\frac{NIR-R}{NIR+R}

归一化差分水体指数

NDWI=\frac{G-NIR}{G+NIR}

如何通过MATLAB实现通过各类指数提取对应地物,是遥感图像处理中常见的问题。使用各类指数时,一般先对整幅图像求归一化差分指数,之后通过设定阈值来对目标与非目标进行区分。如果在已经知道经验阈值的前提下,可以直接使用循环嵌套来提取目标。

这里举例说明,以建筑物提取为例。在大面积遥感影像中,使用NDBI区分裸土与建筑略显困难,计算NDBI后效果如下图所示

基于MATLAB的数字图像处理(三)——地物提取与变化检测_第1张图片

 与原图像进行对比:

基于MATLAB的数字图像处理(三)——地物提取与变化检测_第2张图片

很显然,提取不完美。这里使用NDISI进行计算,NDISI由徐涵秋等人在2016年提出,用以提取不透水面,其计算公式为:

NDISI=\frac{TIR-\frac{MIR+NIR+VIR}{3}}{TIR+\frac{MIR+NIR+VIR}{3}}

其中,VIR为可见光波段,有时使用MNDWI代替之,如此即可计算图像的NDISI

clear
clc

Image = imread("文件路径");
Height = size(Image, 1);
Width = size(Image, 2);

MDNWI = zeros(Height, Width);
NDISI = zeros(Height, Width);

for i = 1:Height
    for j = 1:Width
        MNDWI(i, j) = (Image(i, j, 2) - Image(i, j, 5))/(Image(i, j, 2) + Image(i, j, 5));
        Temp = (Image(i, j, 4) + Image(i, j, 5) + MNDWI(i, j))/3;
        NDISI(i, j) = (Image(i, j, 6) - Temp)/(Image(i, j, 6) + Temp);
    end
end

对于以上图片,区分不透水面的经验阈值为-0.32~-0.30。如此,利用循环嵌套即可得到提取出不透水面的二值图像,代码如下:

clear
clc

NDISI = imread("文件路径");

[Width,Height] = size(NDISI);
S = zeros(Width,Height);

for i=1:Width
    for j=1:Height
        if (NDISI(i,j)>-0.32)
            S(i,j) = 1;
        end
    end
end

imshow(S)

对于变化检测,则需要多时相遥感数据。例如,使用某地2010、2015、2020三年的水体指数来做直方图统计,提取出水体的同时,同样使用循环嵌套实现直方图统计(注意,此处NDWI的经验阈值为0):

clear
clc

NDWI2010 = imread("文件路径");
NDWI2015 = imread("文件路径");
NDWI2020 = imread("文件路径");

[Height, Width] = size(NDWI2010);
Count2010 = 0;
Count2015 = 0;
Count2020 = 0;
for i=1:Height
    for j=1:Width
        if NDWI2010(i,j)>=0
            Count2010=Count2010+1;
        end
    end
end
for i=1:Height
    for j=1:Width
        if NDWI2015(i,j)>=0
            Count2015=Count2015+1;
        end
    end
end
for i=1:Height
    for j=1:Width
        if NDWI2020(i,j)>=0
            Count2020=Count2020+1;
        end
    end
end
W = [Count2010, Count2015, Count2020];
Year = [2010, 2015, 2020];
bar(Year, W);

提取出的地物二值图像不仅仅可以用于变化检测,还可以辅助进行样本的选择。因为人眼无法观察红外波段,所以借助各类归一化差分指数将红外波段的差异可视化,才能更有效的辅助判读,以更好的进行难以直接通过人眼区别的地物的判读与归类。

你可能感兴趣的:(数字图像处理,matlab,图像处理,算法)