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:读取图像数据,读取同一原始遥感影像中的可见光红波段和近红外波段图像数据;所述的可见光红波段图像数据和近红外波段图像的 ...
【技术保护点】
一种基于一维数组结构的遥感影像NDVI并行提取方法,其特征在于,包括以下步骤:步骤1:读取图像数据,读取同一原始遥感影像中的可见光红波段和近红外波段图像数据;所述的可见光红波段图像数据和近红外波段图像的数据大小相同;步骤2:降低图像存储维度,按照矩阵存储的像元值与数组存储一对一的映射关系,分别将读取的可见光红波段图像和近红外波段图像的存储方式由矩阵存储转为一维数组存储,得到以一维数组ArrRed存储的可见光红波段图像和一维数组ArrNir存储的近红外波段图像;步骤3:图像数据预处理,将存储方式均为一维数组存储ArrRed的可见光红波段图像和一维数组ArrNir存储的近红外波段图像合并为一个包含两行一维数组ArrRed和ArrNir的第一数组,并对该数组进行预处理;步骤4:获取以数组方式存储的遥感影像NDVI,进行步骤3所述的预处理后,得到一个包含两行一维数组ArrRed2存储的可见光红波段图像和一维数组ArrNir2存储的近红外波段图像的第二数组,并对其计算获取遥感影像NDVI;步骤5:获得以矩阵方式存储的遥感影像NDVI,将步骤4获取的遥感影像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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。