当前位置: 首页 > 专利查询>河南大学专利>正文

一种基于一维数组结构的遥感影像NDVI并行提取方法技术

技术编号:17265672 阅读:51 留言:0更新日期:2018-02-14 13:16
本发明专利技术公开了一种基于一维数组结构的遥感影像NDVI并行提取方法,包括以下步骤:读取图像数据,降低图像存储维度,图像数据预处理,获取以数组方式存储的遥感影像NDVI,获得以矩阵方式存储的遥感影像NDVI。本发明专利技术设计新颖,成果更优,适于在遥感影像技术领域中推广及应用。

A parallel extraction method of remote sensing image NDVI based on one dimension array structure

The invention discloses a parallel extraction method of remote sensing image based on NDVI array structure, which comprises the following steps: reading the image data, reduce the dimension of image storage, image preprocessing, acquisition of remote sensing image NDVI is stored in an array of remote sensing images, obtained by means of matrix storage NDVI. The invention has the advantages of novel design and better results, and is suitable for popularization and application in the field of remote sensing image technology.

【技术实现步骤摘要】
一种基于一维数组结构的遥感影像NDVI并行提取方法
本专利技术涉及遥感应用
,尤其涉及一种基于一维数组结构的遥感影像NDVI并行提取方法。
技术介绍
归一化植被指数(NDVI)研究是遥感应用的一个主要领域,同时也是遥感学科的重要研究问题;随着我国自主研发的高分系列卫星陆续升空,卫星传回的遥感数据量越来越大,遥感数据呈几何级的增长,这样就产生了海量的遥感影像数据;针对海量遥感数据的发展趋势,如何从海量遥感数据中高效、实时提取NDVI已成为实际应用过程中亟需解决的问题。目前查阅国内外关于归一化植被指数(NDVI)研究的相关文献,现有的NDVI处理算法都是基于矩阵对象,分别对红波段和近红外波段图像进行处理,基于矩阵对象每次对图像进行操作就会遍历矩阵的行和列,在读写以及处理图像时会在循环执行上大量耗时,并且在计算NDVI时需要对红波段和近红外波段图像进行两次图像预处理操作也消耗了大量的时间,同时,在遥感应用领域和高性能计算领域,也没有学者考虑通过降低图像的存储维度、合并红波段和近红外波段图像来进行处理;传统的NDVI提取方法,在当前海量遥感数据背景下,存在有处理效率低等问题。
技术实现思路
本专利技术针对现有技术存在的不足和缺陷,提供一种基于一维数组结构的遥感影像NDVI并行提取方法,能够从海量遥感数据中快速、高效地提取NDVI。为实现所述目的,本专利技术所采用的技术方案是:一种基于一维数组结构的遥感影像NDVI并行提取方法,包括以下步骤:步骤1:读取图像数据,读取同一原始遥感影像中的可见光红波段和近红外波段图像数据;所述的可见光红波段图像数据和近红外波段图像的数据大小相同;步骤2:降低图像存储维度,按照矩阵存储的像元值与数组存储一对一的映射关系,分别将读取的可见光红波段图像和近红外波段图像的存储方式由矩阵存储转为一维数组存储,得到以一维数组ArrRed存储的可见光红波段图像和一维数组ArrNir存储的近红外波段图像;步骤3:图像数据预处理,将存储方式均为一维数组存储ArrRed的可见光红波段图像和一维数组ArrNir存储的近红外波段图像合并为一个包含两行一维数组ArrRed和ArrNir的第一数组,并对该数组进行预处理;步骤4:获取以数组方式存储的遥感影像NDVI,进行步骤3所述的预处理后,得到一个包含两行一维数组ArrRed2存储的可见光红波段图像和一维数组ArrNir2存储的近红外波段图像的第二数组,并对其计算获取遥感影像NDVI;步骤5:获得以矩阵方式存储的遥感影像NDVI,将步骤4获取的遥感影像NDVI的存储方式,按照矩阵存储和数组存储的一对一映射关系,由一维数组转为矩阵进行存储,获得以矩阵方式存储的遥感影像NDVI,最终得到提取的遥感影像NDVI。进一步地,所述的步骤2-步骤5的处理过程均采用了OpenMP并行编程技术。进一步地,步骤1中所述的读取图像数据采用OpenCV中的imread函数对可见光红波段图像和近红外波段图像进行读取,并设两个图像的大小均为N*M,N和M均是大于0的整数。进一步地,步骤2所述的降低图像存储维度是将存储在大小均为N*M的矩阵中的可见光红波段图像和近红外波段图像的像素值,按照矩阵存储和数组存储的一对一的映射关系,分别映射到两个长度为n=N*M的一维数组中,所述的矩阵存储和数组存储的一对一的映射关系为:设(j,k)为可见光红波段图像中的一个像素点,则(j,k)在一维数组中的位置为[j*M+k],并将(j,k)在可见光红波段图像上的像素值存储在ArrRed[j*M+k]中;设(j,k)为近红外波段图像中的一个像素点,则(j,k)在一维数组中的位置为[j*M+k],并将(j,k)在近红外波段图像上的像素值存储在ArrNir[j*M+k]中;在映射中,若发现DN值,则将该像素点的像素值设为0。进一步地,步骤3中所述的图像数据预处理为图像增强处理,具体包括以下步骤:步骤3.1:对一维数组ArrRed、ArrNir中存储的可见光红波段图像、近红外波段图像的数据分别进行图像灰度直方图计算,获得可见光红波段图像灰度直方图的最大值、可见光红波段图像灰度直方图的最小值、近红外波段图像灰度直方图的最大值和近红外波段图像灰度直方图的最小值;步骤3.2:根据可见光红波段图像灰度直方图的最大值和可见光红波段图像灰度直方图的最小值,对一维数组ArrRed中存储的可见光红波段图像及一维数组ArrNir中存储的近红外波段图像分别进行拉伸,并将拉伸后的数据存储在一维数组ArrRed1和一维数组ArrNir1中;步骤3.3:对一维数组ArrRed1、ArrNir1中存储的拉伸后的可见光红波段图像、近红外波段图像的数据分别进行直方图计算,获得的直方图值分别存储在一维数组ArrRedHist和一维数组ArrNirHist中;步骤3.4:通过一维数组ArrRed1和ArrRedHist计算可见光红波段图像的累计分布函数值,并存储在一维数组ArrRedCDF中;根据一维数组ArrNir1和ArrNirHist,计算近红外波段图像的累计分布函数值,并存储在一维数组ArrNirCDF中;步骤3.5:利用一维数组ArrRed1和ArrRedCDF对一维数组ArrRed1中存储的拉伸后的可见光红波段图像的数据进行均衡化,并存储在一维数组ArrRed2中;根据一维数组ArrNir1和ArrNirCDF,对一维数组ArrNir1中存储的拉伸后的近红外波段图像的数据进行均衡化,并存储在一维数组ArrNir2中;最终获得一个包含两行以一维数组ArrRed2存储的可见光红波段图像和一维数组ArrNir2存储的近红外波段图像的第二数组。进一步地,步骤3.2中所述的对一维数组ArrRed中存储的可见光红波段图像及一维数组ArrNir中存储的近红外波段图像分别进行拉伸按下述公式进行:其中,i≤N*M、redmax为可见光红波段图像灰度直方图的最大值、redmin为可见光红波段图像灰度直方图的最小值、nirmax近红外波段图像灰度直方图的最大值、nirmin近红外波段图像灰度直方图的最小值、ArrRed[i]为一维数组ArrRed第i列存储的可见光红波段图像对应的像素值、ArrNir[i]为一维数组ArrNir第i列存储的近红外波段图像对应的像素值、ArrRed1[i]为一维数组ArrRed1第i列存储的拉伸后的可见光红波段图像对应的像素值、ArrNir1[i]为一维数组ArrNir1第i列存储的拉伸后的近红外波段图像对应的像素值。进一步地,步骤4中所述的对其计算获取遥感影像NDVI按下述公式进行:其中,i≤N*M、ArrNir2[i]为一维数组ArrRed2第i列存储的图像增强后的近红外波段图像对应的像素值、ArrRed2[i]为一维数组ArrRed2第i列存储的图像增强后的近红外波段图像对应的像素值。本专利技术的有益效果是:本专利技术一种基于一维数组结构的遥感影像NDVI并行提取方法通过降低可见光红波段和近红外波段图像数据的存储维度,将矩阵存储降为一维数组存储,并将两个一维数组合并成包含两行一维数组的新数组,每次对图像进行操作时避免遍历矩阵的行和列,直接读取一维数组相应的列即可,避免在读写以及处理图像时在循环执行上的大量耗时,节省了大量的时本文档来自技高网...
一种基于一维数组结构的遥感影像NDVI并行提取方法

【技术保护点】
一种基于一维数组结构的遥感影像NDVI并行提取方法,其特征在于,包括以下步骤:步骤1:读取图像数据,读取同一原始遥感影像中的可见光红波段和近红外波段图像数据;所述的可见光红波段图像数据和近红外波段图像的数据大小相同;步骤2:降低图像存储维度,按照矩阵存储的像元值与数组存储一对一的映射关系,分别将读取的可见光红波段图像和近红外波段图像的存储方式由矩阵存储转为一维数组存储,得到以一维数组ArrRed存储的可见光红波段图像和一维数组ArrNir存储的近红外波段图像;步骤3:图像数据预处理,将存储方式均为一维数组存储ArrRed的可见光红波段图像和一维数组ArrNir存储的近红外波段图像合并为一个包含两行一维数组ArrRed和ArrNir的第一数组,并对该数组进行预处理;步骤4:获取以数组方式存储的遥感影像NDVI,进行步骤3所述的预处理后,得到一个包含两行一维数组ArrRed2存储的可见光红波段图像和一维数组ArrNir2存储的近红外波段图像的第二数组,并对其计算获取遥感影像NDVI;步骤5:获得以矩阵方式存储的遥感影像NDVI,将步骤4获取的遥感影像NDVI的存储方式,按照矩阵存储和数组存储的一对一映射关系,由一维数组转为矩阵进行存储,获得以矩阵方式存储的遥感影像NDVI,最终得到提取的遥感影像NDVI。...

【技术特征摘要】
1.一种基于一维数组结构的遥感影像NDVI并行提取方法,其特征在于,包括以下步骤:步骤1:读取图像数据,读取同一原始遥感影像中的可见光红波段和近红外波段图像数据;所述的可见光红波段图像数据和近红外波段图像的数据大小相同;步骤2:降低图像存储维度,按照矩阵存储的像元值与数组存储一对一的映射关系,分别将读取的可见光红波段图像和近红外波段图像的存储方式由矩阵存储转为一维数组存储,得到以一维数组ArrRed存储的可见光红波段图像和一维数组ArrNir存储的近红外波段图像;步骤3:图像数据预处理,将存储方式均为一维数组存储ArrRed的可见光红波段图像和一维数组ArrNir存储的近红外波段图像合并为一个包含两行一维数组ArrRed和ArrNir的第一数组,并对该数组进行预处理;步骤4:获取以数组方式存储的遥感影像NDVI,进行步骤3所述的预处理后,得到一个包含两行一维数组ArrRed2存储的可见光红波段图像和一维数组ArrNir2存储的近红外波段图像的第二数组,并对其计算获取遥感影像NDVI;步骤5:获得以矩阵方式存储的遥感影像NDVI,将步骤4获取的遥感影像NDVI的存储方式,按照矩阵存储和数组存储的一对一映射关系,由一维数组转为矩阵进行存储,获得以矩阵方式存储的遥感影像NDVI,最终得到提取的遥感影像NDVI。2.根据权利要求1所述的一种基于一维数组结构的遥感影像NDVI并行提取方法,其特征在于,所述的步骤2-步骤5的处理过程均采用了OpenMP并行编程技术。3.根据权利要求1所述的一种基于一维数组结构的遥感影像NDVI并行提取方法,其特征在于,步骤1中所述的读取图像数据采用OpenCV中的imread函数对可见光红波段图像和近红外波段图像进行读取,并设两个图像的大小均为N*M,N和M均是大于0的整数。4.根据权利要求1所述的一种基于一维数组结构的遥感影像NDVI并行提取方法,其特征在于,步骤2所述的降低图像存储维度是将存储在大小均为N*M的矩阵中的可见光红波段图像和近红外波段图像的像素值,按照矩阵存储和数组存储的一对一的映射关系,分别映射到两个长度为n=N*M的一维数组中,所述的矩阵存储和数组存储的一对一的映射关系为:设(j,k)为可见光红波段图像中的一个像素点,则(j,k)在一维数组中的位置为[j*M+k],并将(j,k)在可见光红波段图像上的像素值存储在ArrRed[j*M+k]中;设(j,k)为近红外波段图像中的一个像素点,则(j,k)在一维数组中的位置为[j*M+k],并将(j,k)在近红外波段图像上的像素值存储在ArrNir[j*M+k]中;在映射中,若发现DN值,则将该像素点的像素值设为0。5.根据权利要求1所述的一种基于一维数组结构的遥感影像NDVI并行提取方法,其特征在于,步骤3中所述的图像数据预处理为图像增强处理,具体包括以下步骤:步骤3.1:对一维数组ArrRed、ArrNir中存储的可见光红波段图像、近红外波段图像的数据分别进行图像灰度直方图计算,获得可见光红波段图像灰度直方图的最大值、可见光红波段图像灰度直方图的最小值、近红外波段图像灰度直方图的最大值和近红外波段图像灰度直方图的最小值;步骤3.2:根据可见光红波段图像灰度直方图的最大值和可见光红波段图像灰度直方图的最小值,对一维数组ArrRed中存储的可见光红波段图像及一维数组ArrNir中存储的近红外波段图像分别进...

【专利技术属性】
技术研发人员:左宪禹商东东郑逢斌郭拯危李佩琛
申请(专利权)人:河南大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1