CN102013015A - 一种面向对象的遥感影像海岸线提取方法 - Google Patents

一种面向对象的遥感影像海岸线提取方法 Download PDF

Info

Publication number
CN102013015A
CN102013015A CN201010572413.9A CN201010572413A CN102013015A CN 102013015 A CN102013015 A CN 102013015A CN 201010572413 A CN201010572413 A CN 201010572413A CN 102013015 A CN102013015 A CN 102013015A
Authority
CN
China
Prior art keywords
pixel
remote sensing
sensing image
image
diversity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201010572413.9A
Other languages
English (en)
Other versions
CN102013015B (zh
Inventor
刘永学
程亮
李满春
李飞雪
江冲亚
蔡文婷
李�真
张昱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201010572413.9A priority Critical patent/CN102013015B/zh
Publication of CN102013015A publication Critical patent/CN102013015A/zh
Application granted granted Critical
Publication of CN102013015B publication Critical patent/CN102013015B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种面向对象的遥感影像海岸线提取方法,属于全自动遥感影像海岸线提取领域。其步骤为:遥感影像滤波处理;选择分割算法对遥感影像进行分割;利用样本点对分割后的遥感影像进行分类;利用种子生长的方法提取出海水区域;最后利用相应的判别准则提取海岸线。本发明提高了现有海岸线提取算法的准确性,通过面向对象的方法经过分割分类处理提高了海水提取的正确率,保证了海岸线提取的准确性。由于海岸线变化较为频繁,本发明为国家各级基础地理信息数据库海岸线信息的维护与更新提供便利。

Description

一种面向对象的遥感影像海岸线提取方法
技术领域
本发明涉及一种遥感影像海岸线提取方法,更具体的说是一种面向对象的遥感影像海岸线提取方法。
背景技术
海岸带作为海陆相互作用频繁的地带,地理区位优越,各类资源丰富,人类活动剧烈,海岸线的侵蚀、淤积变化强烈。快速准确的测定海岸线位置和性质是人们研究海陆相互作用、沿海围垦、港口开发、城镇扩建等必须进行的一项技术活动,是规避海域管理冲突的信息基础,也是地形图测绘、海道测量、海岸带调查等工作的重要内容。目前海岸线主要依靠人工外业GPS测量或者人工数字化遥感影像获取,调查周期长、效率低、成本高、已难以满足基础地理信息数据库数据更新要求。伴随着数字图像处理、计算机图形学、模式识别、人工智能等学科的发展,各类遥感影像海岸线提取方法不断涌现,海岸线提取效率与精度已经大大提高。现已提出基于多阈值形态学、基于小波变换、基于改进水平截集、基于色差的遥感影像海岸线提取方法。但目前的海岸线提取方法,大多是针对影像的灰度信息,没有利用影像的光谱特征信息,且提取的结果不连续难以转换成基础地理信息库中所需要的连续的线状矢量数据。例如,瞿继双等在2003年第7期《中国图象图形学报(A版)》撰文“一种基于多阈值的形态学提取遥感图象海岸线特征方法”,提出使用多阈值分割的形态学方法提取海岸线,该方法利用灰度阈值方法对遥感影像数据进行初步的海岸线特征提取,获得包含大量孤立区域的二值图象,通过对区域距离的定义,将这些孤立区域划分为内陆孤立区域Aiso-Cont、外海孤立区域Aiso-Sea以及沿海岸线孤立区域Aiso-Coast,结合先验知识确定面积阈值区分Aiso-Coast的陆地或海域属性,利用形态腐蚀算子对最小路径进行运算,使隶属于海域的沿海岸线孤立区域与主体海域连通,最后利用数学形态算子来填充灰度值相一致的孤立区域,以精确地获取海岸线特征。该方法仅针对影像的灰度特征,受到影像噪声影响较大,且在进行沿海岸线孤立区域类别确定时,需要用到先验阈值,算法的效率以及可推广性受到了一定的限制。目前,亦有针对多光谱遥感数据的海岸线自动提取方法,但提取结果的边缘细碎且不连续难以满足基础地理数据库入库要求。比如,冯兰娣等在2002年第5期《青岛海洋大学学报》撰文“利用海岸带遥感图像提取岸线的小波变换方法”,提出的利用高斯函数的一阶导数作为小波函数,对海岸带遥感图像做小波变换,通过检测小波变换模的极值点得到图像的候选边缘点,经过滤波得到图像的边缘,该方法提取的海岸线不连续,存在断裂,且在提取岸线的同时将其他边缘,例如河流湖泊等边缘也同时被提取出来,造成提取结果的误差。综上,如何依据更少的海岸线先验知识,高效便捷地提取出遥感影像中连续的海岸线信息,生成连续矢量线状海岸线,直接应用于基础地理信息数据库的海岸线更新,是海岸线全自动提取方法的研究热点。
随着商用高分辨率遥感图像的广泛应用,研究人员对基于像元分类方法的局限性加以关注,由此发展了面向对象的遥感影像分类方法。Blaschke(2002)指出,在很多情形下,理解图像的重要语义信息应当是通过有意义的图像对象和它们的相互关系来表达,而非单个像元,并且很多类型的图像或多或少是具有纹理特征的,只有当这些具有纹理特征的数据(图像)被分割成有意义的“同质”对象时,对这些图像(和数据)的分析才能成为现实,这就是面向对象的思想。目前面向对象的分类思想已经越来越多的应用于遥感影像分类中,但针对海岸线特殊的地理环境,如何利用面向对象的遥感影像分类思想,并在分类基础上如何加入先验知识已达到海岸线提取还没有相关研究与应用的公开。
发明内容
1.发明要解决的技术问题
本发明的目的是提供一种面向对象的遥感影像海岸线提取方法,通过引入面向对象的思想,对遥感影像进行去噪、分割、分类得到一个面积完整的海水区域,再根据边缘追踪算法得到海陆分界线,达到提取连续线状海岸线的目的。
2.本发明的技术方案如下:
原理:根据海岸线在遥感影像中表现的海陆区域差异显著的现状特征,引入面向对象的思想,通过利用遥感影像自适应滤波进行影像去噪,利用区域生长以及K近邻算法进行影像分割和分类得到空间分布连续的海水区域,最后通过追踪海陆分界线得到海岸线提取结果。
一种面向对象的遥感影像海岸线提取方法,包括以下步骤:
步骤1:由于遥感传感器成像时受到大气、地形以及卫星姿态等因素的影响,遥感影像往往具有点噪声,在此选取自适应均值滤波算法进行去噪处理,设原始图像为a行b列k个波段,滤波窗口为w×w,则针对每个像素p(x,y)重复以下步骤,得到遥感影像各像素点的差异值:
(1)计算该像素点在w×w邻域中的有效像素数:n,
(2)计算该像素各波段DN值与其邻域所有有效像素相应波段DN值之差,即 DN Diversity = Σ b = 1 k Σ i = x - w x + w Σ j = y - w y + w ( DN ( x , y , b ) - DN ( i , j , b ) ) ,
(3)计算该像素的平均像素差异:DNMean_Diversity=DNDiversity/(n×k),
在此基础上,对每个像素进行均值滤波,并重复以下步骤,得到经过预处理后的遥感影像,
(4)计算该像素点在w×w邻域中的像素数:n,即该位置像素不为空值,
(5)分别计算该像素DN值与其邻域所有像素相应波段DN值之差,即DNDiversity′=DN(x,y,b)-DN(i,j,b)i∈(x-w,x+w),j∈(y-w,y+w),b∈(1,k)
(6)如果DNDiversity>DNDiversity′,则将该点算入均值滤波的邻域中,
(7)设最终均值滤波的邻域像素为P1,P2,……Pm,则该点的DN值 DN = ΣP - P ′ = Σ b = 1 k Σ i = x - w x + w Σ j = y - w y + w ( DN ( x , y , b ) - DN ( i , j , b ) ) / m , 其中P′∈(P1,P2,...,Pn);
步骤2:通过综合考虑算法精度及时间效率,在此选用种子生长算法对经过预处理的遥感影像进行分割处理,得到一系列在光谱信息上表现相近似的像元合并而成的对象;
步骤3:将上述选取分割影像上各地类分割结果中面积最大的一个对象中的光谱特征作为样本点带入K近邻算法中进行遥感影像分类,得到遥感影像中所有水体信息;
步骤4:设面积最大的水体对象为MaxArea=0,针对已分割遥感影像中每个水体对象进行如下操作:
(1)遍历该对象P的所有像素,其像素个数和为PArea=NumberPixel(P)
(2)如果MaxArea<PArea,MaxArea=PArea,直至遍历介绍并记录该对象作为遥感影像海水区域;
步骤5:在提取的海水结果的基础上利用边界追踪方法提取最终的海岸线结果。
上述步骤1中获取多光谱遥感影像的方法如下:建立一个长度为m的一维数组(m=影像行数×影像列数×波段数),依次读取各波段遥感影像数据并存入该数组;获取遥感影像各像素差异均值的方法如下:首先,遍历整个遥感影像,在针对某一个像素时,根据给定的窗口半径radius参数开辟一个以该像素为中心,边长为2×radius的正方形区域Z,依次计算该像素点与Z中所有像素点各波段差值的绝对值,并将该绝对值累加得到遥感影像总体的差异值Total_Diversity,在此基础上除以波段数以及邻域所有有效像素点个数得到衡量像素点差异的像素差异均值Mean_Diversity;获取遥感影像均值滤波结果的方法如下:首先针对图像上各像素点给定一个3×3的模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身),再判断该像素点与其相邻的各像素点的差异是否大于上一步求取的像素差异均值Mean_Diversity,若大于该均值则跳过该像素点,否则用模板中的全体像素的平均值代替原来的目标像素值。
步骤2中常见的分割算法有分水岭分割算法、种子生长算法、阈值分割算法,其中分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,通过在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸入水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝,即形成分水岭;种子生产算法的基本思想是将相似性质的像素集合起来构成区域,具体先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素有相同或相似性质的像素合并到种子像素所在的区域中,重复以上过程达到分割的目的;阈值分割的主要思想是借助阈值将图像分为大于阈值和小于等于阈值两类以达到分割的目的。通过综合考虑算法精度及时间效率。在此具体实现步骤如下:初始化所有像素点属性,将整幅图像所有像素点属性初始化为-1(表示像素点未进行区域标号);依次遍历遥感影像各像素点,根据该像素点与其邻接的8个像素点的相似度来进行像素点的归类,相似度的衡量准则为该像素点与其相邻的各像素点的差异是否大于上一步求取的像素差异均值Mean_Diversity,最终将空间相邻且光谱信息相似的像素点合并成为一个对象,并求取该对象中各像素光谱均值作为此对象的光谱信息。
步骤3中的样本选择依据为:首先将图像地类分为不透水面、水体、植被、裸地四类,并在分割的结果中分别选取每个类别所有分割对象中面积最大的一个对象作为样本点,利用K近邻算法产生分类结果的流程为:将已选择的四个样本点作为初始聚类中心,将全部样本随机地分成4类,计算每类的样本均值,将样本均值作为初始聚类中心,接着按就近原则将样本归入各聚类中心所代表的类中,随后遍历遥感影像各对象,计算其到各聚类中心的距离,并将其归入距离最近的聚类中心所属的类别中,重新计算样本均值,更新聚类中心,重复操作,直至聚类中心不再发生大的变化为止。
步骤4中面积计算的方式为计算各个对象所包含的像素个数,将像素数目最多的水体对象作为海水,并将海水区域赋值1,其他区域赋值0。
步骤5边界跟踪选择遥感影像海岸线最左下像素作为起点,遍历该点的八邻域的像素,如果邻域像素值为1,则标记该点为海岸线,并寻找该点邻域内像素值为0的点作为下一个搜索起点,重复此操作直至邻域像素值全不为1时,结束搜索。
3.有益效果
相比现有技术,本发明实现了全自动遥感影像提取连续海岸线的流程,引入了面向对象的分类思想,提高了海岸线的提取精度。具体有益效果如下:
第一,本发明提高了海岸线提取的正确率。由于多数海岸线提取算法仅利用单一波段的光谱信息,在进行海岸线识别时存在一定的误分类;而本方法有效地利用了多光谱遥感影像各个波段的光谱信息,提高了分类识别精度。
第二,本发明降低了海岸线提取后续处理的复杂度。现有的海岸线提取算法提取的线状海岸线并不连续,并且具有很多毛刺,需要进行提取结果细化、断线连接等后续处理。本发明通过引入面向对象的思想以及区域合并的方法,能够有效地遏制毛刺现象,提取连续的线状海岸线,无需复杂的后续处理。
第三,本发明的结果为一条宽度为一个像元的海岸线-背景二值影像,可以便捷地实现栅格向矢量的转换,生成适量连续线状对象,为更新基础地理数据库中的海岸线数据提供数据。
综上,本发明提高了现有全自动遥感影像海岸线提取方法的提取效率与正确率,降低了海岸线提取后续处理的复杂度,提取结果可以十分便捷地进行数据格式转换。实际应用表明,通过本发明能够快速、准确的提取遥感影像中的海岸线信息,降低人工数字化方式采集海岸线信息的成本,能够为国家各级基础地理信息数据库海岸线信息的提供技术支撑,降低基础地理信息数据库的更新成本,提高数据更新的效率。
附图说明
图1为待提取海岸线遥感影像图;
图2为通过分割分类后所有水体的提取结果图;
图3为通过区域合并后的海水提取结果图;
图4为海岸线提取结果图。
具体实施方式
采用附图1所示遥感影像作为待提取海岸线影像,影像大小为500行,500列,成像时间为2007年7月6日,成像传感器为Landsat TM,空间分辨率为30米,总共6个波段。采用C++编程语言在Visual C++6.0平台下实现本方法的6个步骤,遥感影像数据的读写操作通过开源地理数据格式转换类库GDAL 1.60实现。
步骤1:以GDAL为影像数据读写工具,利用利用GDAL.Open方法读取影像DN值至大小为1500000的一维整型数组,根据给定的模板大小参数radius=3,依次获取以各像素点为中心,边长为3个像素长的区域中所有的像素点各波段DN值,并计算该像素点与其他所有获取的像素点各波段差值的绝对值,将该绝对值累加得到遥感影像总体的差异值Total_Diversity,在此基础上除以波段数以及邻域所有有效像素点数得到像素差异均值Mean_Diversity,最后使用3×3模板的均值滤波操作实现遥感影像的预处理,其中实现像素差异均值操作的核心代码为:
for(idx=0;idx<m_size;idx++)
{
    delta=0;
    n=0;
    i=idx/m_width;
    j=idx%m_width;
    for(ii=-m_radius;ii<=m_radius;ii++)
    {
        for(jj=-m_radius;jj<=m_radius;jj++)
        {
            //获取当前像元的绝对位置
            p=i+ii;
            q=j+jj;
            //如果超出图像边界,则继续
            if(p<0||p>=m_height||q<0||q>=m_width)
            {
                  continue;
             }
            //邻域像元编号
               idxNei=p*m_width+q;
               n++;
               for(k=0;k<m_dms;k++)
               {//获取该像素点的像素差异值
                delta+=fabs(m_data[idx+k*m_size]-_data[idxNei+k*m_size]);
               }
           }
      }
      delta/=(double)n;
      delta/=(double)m_dms;
     //获取整个影像的总体差异值
      Total_Diversity+=delta;
}
//获取整个影像的平均差异值
Mean_Diversity/=(double)(m_size);
步骤2:首先,新建一个长度为1500000的整型数组用于存放所有像素点属性,并将整幅图像所有像素点属性初始化为-1(代表像素点还没有进行区域标号);接着,依次遍历遥感影像各像素,根据该像素点与其邻接的8个像素点的相似度来进行像素点的归类,其相似度的衡量准则为:该像素点与其相邻的各像素点的差异是否大于上一步求取的像素差异均值Mean_Diversity,最终将空间相邻且光谱信息相似的像素点合并成为一个对象,并求取该对象中各像素光谱均值作为此对象的光谱信息,其实现的核心代码为:
idxObj=-1;
for(idx=0;idx<m_size;idx++)
{
    //如果当前像元尚未标记
    if(m_labels[idx]<0)
    {
        //用新的对象编号标记当前像元
        m_labels[idx]=++idxObj;
    }
    //如果该点已标记,则继续下一点
    else
    {
        continue;
    }
    //以该像元作为种子点标记对象
    idxFeed=idx;
    //索引表(已标记点编号->邻域点位置)
    indexTable[0]=idxFeed;
    index=0;
          while(1)
          {
              //行列号
              i=idxFeed/m_width;
              j=idxFeed%m_width;
              //没找到可标记的邻域点
              flg=false;
              //遍历八邻域
              //ii和jj表示当前像元的相对位置,即与中心像元的偏移量
              //p和q表示当前像元的绝对位置,即在图像中的行列号
              for(ii=-1;ii<=1;ii++)
              {
              for(jj=-1;jj<=1;jj++)
              {
              //获取当前像元的绝对位置
              p=i+ii;
              q=j+jj;
              //如果超出图像边界,则继续
              if(p<0||p>=m_height||q<0||q>=m_width)
                    {
                        continue;
                    }
                //邻域像元编号
                idxNei=p*m_width+q;
                //如果邻域点未被标记
                if(m_labels[idxNei]==-1)
                {
                //如果邻域点与种子点的特征值相差较大则结束判断
                for(k=0;k<dms;k++)
                {
                    if(fabs(data[idxNei+k*m_size]-ata[idx+k*m_size])>dis
&&fabs(data[idxNei+k*m_size]-ata[idxFeed+k*m_size)>dis/2.0)
                             {
                                  break;
                              }
                              }
                              //特征向量相近
                              if(k==dms)
                              {
                                  //标记邻域点
                                  m_labels[idxNei]=idxObj;
                                  //将邻域点放入索引表
                                  indexTable[++index]=idxNei;
                                  //已找到可标记的邻域点
                       flg=true;
                     }
                  }
             }
         }
//通过索引表进行深入搜索
//如果已找到可标记的邻域点,则以最后一个标记点为种子点继续搜索
//如果没找到可标记的邻域点,则以上一个标记点为种子点继续搜索
//如果已经没有上一个标记点,则区域填充完毕
        if(flg)
        {
             idxFeed=indexTable[index];
        }
        else
        {
             if(index>1)
             {
                  idxFeed=indexTable[--index];
             }
             else
             {
                  break;
              }
        }
    }
}
//对象总数
m_counts=idxObj+1;
步骤3:首先将图像地类分为不透水面、水体、植被、裸地四类,并选取符四类地类分割结果中面积最大的对象中的一点作为样本点,在本实例中,选取的样本点x,y坐标分别为:(213,190),(308,133),(122,312),(195,259);再利用编程实现的K近邻分类进行分割后的遥感影像分类,最后将水体的灰度值设为1,其它地类灰度值设为0(图2),核心代码如下:
m_probs=new double*[m_counts];
for(i=0;i<m_counts;i++)
{
     m_probs[i]=new double[m_cntClasses];
}
dis=new double[m_cntClasses];
for(i=0;i<m_counts;i++)
{
    sumDis=0;
    for(j=0;j<m_cntClasses;j++)
    {
        dis[j]=0;
        for(k=0;k<m_dms;k++)
        {
        dis[j]+=fabs(m_segmented[i+k*m_counts]-m_knowledge[j][k]);
        }
        sumDis+=dis[j];
    }
    max=0;
    sumProbs=0;
    for(j=0;j<m_cntClasses;j++)
    {
        m_probs[i][j]=1-(double)dis[j]/sumDis;
        if(m_probs[i][j]>max)
        {
            max=m_probs[i][j];
            jWatch=j;
        }
        sumProbs+=m_probs[i][j];
    }
    for(j=0;j<m_cntClasses;j++)
    {
        m_probs[i][j]/=sumProbs;
    }
}
步骤4:在图2的所有水体中搜索面积最大的水体作为确定海水,利用标号函数label得到与之相邻的水域合并得到最终的海水提取结果(图3),具体核心代码如下:
//建立记录海水位置的数组double*sea
double*sea=new double[m_size];
    for(idx=0;idx<m_size;idx++)
    {
         sea[idx]=m_sea[idx];
     }
//调用label函数,对海水进行标记
     label(sea,1,0);
/************************标记函数*************************/
void CoastlineExtractAlgorithm::label(double*data,int dms,double dis)
{
     long idx;
     int i,j,ii,jj,p,q;
     int k;
     long idxObj;
long idxFeed,idxNei;
int*indexTable;
int index;
bool flg;
m_labels=new long[m_size];
//初始化
indexTable=new int[m_size];
for(idx=0;idx<m_size;idx++)
{
     m_labels[idx]=-1;
}
//标号,填充对象集
idxObj=-1;
for(idx=0;idx<m_size;idx++)
{
     //如果当前像元尚未标记
     if(m_labels[idx]<0)
     {
         //用新的对象编号标记当前像元
         m_labels[idx]=++idxObj;
     }
     //如果该点已标记,则继续下一点
     else
     {
         continue;
     }
     //以该像元作为种子点标记对象
     idxFeed=idx;
     //索引表(已标记点编号->邻域点位置)
     indexTable[0]=idxFeed;
     index=0;
     while(1)
     {
         //行列号
         i=idxFeed/m_width;
         j=idxFeed%m_width;
         //没找到可标记的邻域点
         flg=false;
         //遍历八邻域
         //ii和jj表示当前像元的相对位置,即与中心像元的偏移量
         //p和q表示当前像元的绝对位置,即在图像中的行列号
         for(ii=-1;ii<=1;ii++)
         {
               for(jj=-1;jj<=1;jj++)
                   {
                          //获取当前像元的绝对位置
                          p=i+ii;
                          q=j+jj;
                          //如果超出图像边界,则继续
                          if(p<0||p>=m_height||q<0||q>=m_width)
                          {
                            continue;
                          }
                          //域像元编号
                          idxNei=p*m_width+q;
                          //如果邻域点未被标记
                          if(m_labels[idxNei]==-1)
                          {
                          //如果邻域点与种子点的特征值相差较大则结束判断
                              for(k=0;k<dms;k++)
                              {
                    if(fabs(data[idxNei+k*m_size]-data[idx+k*m_size])>dis &&
fabs(data[idxNei+k*m_size]-data[idxFeed+k*m_size])>dis/2.0)
                                    {
                                        break;
                                     }
                                }
                                //特征向量相近
                                if(k==dms)
                                {
                                    //标记邻域点
                                    m_labels[idxNei]=idxObj;
                                    //将邻域点放入索引表
                                    indexTable[++index]=idxNei;
                                    //已找到可标记的邻域点
                                    flg=true;
                                 }
                           }
                      }
                 }
//通过索引表进行深入搜索
//如果已找到可标记的邻域点,则以最后一个标记点为种子点继续搜索
//如果没找到可标记的邻域点,则以上一个标记点为种子点继续搜索
//如果已经没有上一个标记点,则区域填充完毕
if(flg)
{
     idxFeed=indexTable[index];
}
     else
     {
          if(index>1)
          {
               idxFeed=indexTable[--index];
          }
          else
          {
               break;
           }
           }
       }
   }
   //对象总数
   m_counts=idxObj+1;
   delete[]indexTable;
}
步骤5:最后以列的搜索方式遍历整个图3所示的海水陆地二值影像,寻找到一个海陆交接点,并以此为起点,追踪所有的海陆交接点并将结果保存在int*m_result数组,其中海岸线赋值为1,其余为0。方法的核心代码如下:
for(idx=0;idx<m_size;idx++)
{
  //存放海岸线提取结果数组初始化
     m_result[idx]=0;
  //寻找不是海水区域且该区域像元数大于1000的陆地区域
     if(m_sea[idx]==0&&m_areas[m_labels[idx]]>1000)
     {
         //得到该区域第一个像素的绝对位置
       i=idx/m_width;
         j=idx%m_width;
         //遍历八邻域
         for(ii=-1;ii<=1;ii++)
         {
             for(jj=-1;jj<=1;jj++)
             {
                 //获取当前像元的绝对位置
                 p=i+ii;
                 q=j+jj;
                 //如果超出图像边界,则继续
                 if(p<0||p>=m_height||q<0||q>=m_width)
                 {
                       continue;
                         }
                        //获取邻域像元编号
                        idxNei=p*m_width+q;
//如果该像元邻域像元为海水,则判断该像元为海岸线,记录m_result[idx]=1
                      if(m_sea[idxNei]==1)
                         {
                             m_result[idx]=1;
                         }
                    }
                 }
            }
        }
最终得到二值化的海岸线提取结果(图4)。

Claims (4)

1.一种面向对象的遥感影像海岸线提取方法,包括以下步骤:
步骤1:对获得的遥感影像选取自适应均值滤波算法进行去噪处理,设原始图像为a行b列k个波段,滤波窗口为w×w,则针对每个像素p(x,y)重复以下步骤,得到遥感影像各像素点的差异值:
(1)计算该像素点在w×w邻域中的有效像素数:n,
(2)计算该像素各波段DN值与其邻域有效像素相应波段DN值之差,即
DN Diversity = Σ b = 1 k Σ i = x - w x + w Σ j = y - w y + w ( DN ( x , y , b ) - DN ( i , j , b ) ) ,
(3)计算该像素的平均像素差异:DNMean_Diversity=DNDiversity/(n×k),
在此基础上,对每个像素进行均值滤波,并重复以下步骤,得到经过预处理后的遥感影像,
(4)计算该像素点在w×w邻域中的像素数:n,即该位置像素不为空值,
(5)分别计算该像素DN值与其邻域所有像素相应波段DN值之差,即DNDiversity′=DN(x,y,b)-DN(i,j,b)i∈(x-w,x+w),j∈(y-w,y+w),b∈(1,k),
(6)如果DNDiversity>DNDiversity′,则将该点算入均值滤波的邻域中,
(7)设最终均值滤波的邻域像素为P1,P2,……Pm,则该点的DN值 DN = ΣP - P ′ = Σ b = 1 k Σ i = x - w x + w Σ j = y - w y + w ( DN ( x , y , b ) - DN ( i , j , b ) ) / m , 其中P′∈(P1,P2,...,Pn);
步骤2:选用种子生长算法对经过预处理的遥感影像进行分割处理,得到一系列在光谱信息上表现相近似的像元合并而成的对象;
步骤3:将上述选取分割影像上各地类分割结果中面积最大的一个对象中的光谱特征作为样本点带入K近邻算法中进行遥感影像分类,得到遥感影像中所有水体信息;
步骤4:设面积最大的水体对象为MaxArea=0,针对已分割遥感影像中每个水体对象进行如下操作:
(1)遍历该对象P的所有像素,其像素个数和为PArea=NumberPixel(P),
(2)如果MaxArea<PArea,MaxArea=PArea,直至遍历介绍并记录该对象作为遥感影像海水区域;
步骤5:在提取的海水结果的基础上利用边界追踪方法提取最终的海岸线结果。
2.根据权利要求1所述的面向对象的遥感影像海岸线提取方法,其特征在于步骤1中获取遥感影像的方法如下:建立一个长度为m的一维数组,其中m=影像行数×影像列数×波段数,依次读取各波段遥感影像数据并存入该数组;获取遥感影像各像素差异均值的方法如下:首先,遍历整个遥感影像,在针对某一个像素时,根据给定的窗口半径radius参数开辟一个以该像素为中心,边长为2×radius的正方形区域Z,依次计算该像素点与Z中所有有效像素点各波段差值的绝对值,并将该绝对值累加得到遥感影像总体的差异值Total_Diversity,在此基础上除以波段数以及邻域有效像素点个数得到衡量像素点差异的像素差异均值Mean_Diversity;获取遥感影像均值滤波结果的方法如下:首先针对图像上各像素点给定一个3×3的模板,该模板包括了其周围的临近像素,即以目标象素为中心的周围8个象素构成一个滤波模板,再判断该像素点与其相邻的各像素点的差异是否大于上一步求取的像素差异均值Mean_Diversity,若大于该均值则跳过该像素点,否则用模板中的全体像素的平均值来代替原来像素值。
3.根据权利要求1或2所述的面向对象的遥感影像海岸线提取方法,其特征在于步骤2中具体实现步骤如下:首先,初始化所有像素点属性,将整幅图像所有像素点属性初始化为-1,代表像素点还没有进行区域标号;接着,依次遍历遥感影像各像素,根据该像素点与其邻接的8个像素点的相似度来进行像素点的归类,其相似度的衡量准则为:该像素点与其相邻的各像素点的差异是否大于上一步求取的像素差异均值Mean_Diversity,最终将空间相邻且光谱信息相似的像素点合并成为一个对象,并求取该对象中各像素光谱均值作为此对象的光谱信息。
4.根据权利要求1或2所述的面向对象的遥感影像海岸线提取方法,其特征在于步骤3中的样本点选择依据为:首先将图像地类分为不透水面、水体、植被、裸地四类,并在分割结果中分别选取每个类别所有分割对象中面积最大的一个对象作为样本点;利用K近邻算法产生分类结果的流程为:将已选择的四个样本点作为初始聚类中心,将全部样本随机地分成4类,计算每类的样本均值,将样本均值作为初始聚类中心,接着按就近原则将样本归入各聚类中心所代表的类中,随后遍历遥感影像各对象,计算其到各聚类中心的距离,并将其归入距离最近的聚类中心所属的类别中,重新计算样本均值,更新聚类中心,重复操作,直至聚类中心不再发生大的变化为止。
CN201010572413.9A 2010-12-02 2010-12-02 一种面向对象的遥感影像海岸线提取方法 Expired - Fee Related CN102013015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010572413.9A CN102013015B (zh) 2010-12-02 2010-12-02 一种面向对象的遥感影像海岸线提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010572413.9A CN102013015B (zh) 2010-12-02 2010-12-02 一种面向对象的遥感影像海岸线提取方法

Publications (2)

Publication Number Publication Date
CN102013015A true CN102013015A (zh) 2011-04-13
CN102013015B CN102013015B (zh) 2013-03-06

Family

ID=43843187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010572413.9A Expired - Fee Related CN102013015B (zh) 2010-12-02 2010-12-02 一种面向对象的遥感影像海岸线提取方法

Country Status (1)

Country Link
CN (1) CN102013015B (zh)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436679A (zh) * 2011-12-16 2012-05-02 南京大学 一种基于中值滤波的中分辨率遥感影像离散点dem构建方法
CN102589528A (zh) * 2012-01-19 2012-07-18 中国测绘科学研究院 一种多时相影像的海岛岸线量测方法
CN102799898A (zh) * 2012-06-28 2012-11-28 浙江大学 大背景下高分辨率遥感影像目标识别高效处理方法
CN103400533A (zh) * 2013-08-01 2013-11-20 国家海洋局第二海洋研究所 一种多分辨率可扩展海岸线库的建立与调用方法
CN103530635A (zh) * 2013-09-23 2014-01-22 上海海洋大学 一种基于卫星微波遥感图像的海岸线提取方法
CN103559493A (zh) * 2013-10-21 2014-02-05 中国农业大学 一种线状地物的提取方法
CN104732215A (zh) * 2015-03-25 2015-06-24 广西大学 一种基于信息向量机的遥感影像海岸线提取方法
CN105095846A (zh) * 2014-09-28 2015-11-25 航天恒星科技有限公司 面向遥感图像海陆分割的区域生长种子点提取方法及系统
CN105335761A (zh) * 2015-11-27 2016-02-17 郑州航空工业管理学院 一种基于最近邻的遥感影像单类信息提取方法
CN105389826A (zh) * 2015-12-23 2016-03-09 国家海洋局第一海洋研究所 珊瑚岛礁岸线高分sar遥感提取方法
CN105469051A (zh) * 2015-11-25 2016-04-06 中国科学院电子学研究所 一种基于不透水层检测的城市外轮廓提取方法及装置
CN105513041A (zh) * 2015-10-28 2016-04-20 深圳大学 一种大幅面遥感图像海陆分割的方法及系统
CN105740794A (zh) * 2016-01-27 2016-07-06 中国人民解放军92859部队 一种基于卫星影像的海岸线自动提取与分类方法
CN105787911A (zh) * 2016-03-21 2016-07-20 中国林业科学研究院资源信息研究所 一种基于拓扑分形算法的图像腐蚀与膨胀处理方法
CN106203328A (zh) * 2016-07-11 2016-12-07 北华航天工业学院 提高遥感影像中目标地物分类提取准确度的方法
CN107341809A (zh) * 2017-06-22 2017-11-10 同济大学 一种面向多源遥感影像的海岸线自动提取及偏差纠正方法
CN107358161A (zh) * 2017-06-08 2017-11-17 深圳先进技术研究院 一种基于遥感影像分类的海岸线提取方法及系统
CN107452009A (zh) * 2017-07-27 2017-12-08 中国矿业大学(北京) 一种探地雷达图像分割方法及系统
CN107507202A (zh) * 2017-09-28 2017-12-22 武汉大学 一种面向高分辨率遥感影像的植被环岛自动化提取方法
CN108985307A (zh) * 2018-07-16 2018-12-11 中国科学院东北地理与农业生态研究所 一种基于遥感影像的水体提取方法及系统
CN109146828A (zh) * 2017-06-19 2019-01-04 合肥君正科技有限公司 一种确定图形中最大相似区域的方法及装置
CN110832811A (zh) * 2018-05-30 2020-02-21 北京嘀嘀无限科技发展有限公司 用于发送空间数据的系统和方法
CN111027446A (zh) * 2019-12-04 2020-04-17 中国地质环境监测院 一种高分辨率影像的海岸线自动提取方法
CN111311573A (zh) * 2020-02-12 2020-06-19 贵州理工学院 枝条确定方法、装置及电子设备
CN111879292A (zh) * 2020-07-27 2020-11-03 深圳大学 一种海岸线动态监控方法、监控设备及存储介质
CN113221813A (zh) * 2021-05-26 2021-08-06 广东省科学院广州地理研究所 一种海岸线遥感提取方法
CN113408467A (zh) * 2021-07-01 2021-09-17 中国科学院东北地理与农业生态研究所 基于Sentinel-2卫星影像和云平台的滨海养殖池智能提取方法
CN113436091A (zh) * 2021-06-16 2021-09-24 中国电子科技集团公司第五十四研究所 一种面向对象的遥感图像多特征分类方法
CN113962993A (zh) * 2021-12-21 2022-01-21 武汉霖杉工贸有限公司 基于计算机视觉的纸杯原材料质量检测方法
CN115424142A (zh) * 2022-08-26 2022-12-02 南方海洋科学与工程广东省实验室(广州) 基于遥感影像的海岸线类型判别方法、装置、介质和设备
CN115879771A (zh) * 2023-02-20 2023-03-31 华南师范大学 一种养殖池塘溶解氧智能调控方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841409A (zh) * 2005-03-28 2006-10-04 中国科学院自动化研究所 一种基于傅立叶-梅林变换的遥感图像粗定位方法
CN101159009A (zh) * 2007-11-09 2008-04-09 西北工业大学 从遥感图像中检测桥梁的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841409A (zh) * 2005-03-28 2006-10-04 中国科学院自动化研究所 一种基于傅立叶-梅林变换的遥感图像粗定位方法
CN101159009A (zh) * 2007-11-09 2008-04-09 西北工业大学 从遥感图像中检测桥梁的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《人民黄河》 20080630 张明 等 遥感影像海岸线特征提取研究进展 7-9 1-4 第30卷, 第6期 *

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436679A (zh) * 2011-12-16 2012-05-02 南京大学 一种基于中值滤波的中分辨率遥感影像离散点dem构建方法
CN102436679B (zh) * 2011-12-16 2014-04-30 南京大学 一种基于中值滤波的中分辨率遥感影像离散点dem构建方法
CN102589528A (zh) * 2012-01-19 2012-07-18 中国测绘科学研究院 一种多时相影像的海岛岸线量测方法
CN102589528B (zh) * 2012-01-19 2013-12-04 中国测绘科学研究院 一种多时相影像的海岛岸线量测方法
CN102799898A (zh) * 2012-06-28 2012-11-28 浙江大学 大背景下高分辨率遥感影像目标识别高效处理方法
CN103400533A (zh) * 2013-08-01 2013-11-20 国家海洋局第二海洋研究所 一种多分辨率可扩展海岸线库的建立与调用方法
CN103400533B (zh) * 2013-08-01 2014-06-11 国家海洋局第二海洋研究所 一种多分辨率可扩展海岸线库的建立与调用方法
CN103530635A (zh) * 2013-09-23 2014-01-22 上海海洋大学 一种基于卫星微波遥感图像的海岸线提取方法
CN103559493A (zh) * 2013-10-21 2014-02-05 中国农业大学 一种线状地物的提取方法
CN105095846A (zh) * 2014-09-28 2015-11-25 航天恒星科技有限公司 面向遥感图像海陆分割的区域生长种子点提取方法及系统
CN105095846B (zh) * 2014-09-28 2019-07-30 航天恒星科技有限公司 面向遥感图像海陆分割的区域生长种子点提取方法及系统
CN104732215A (zh) * 2015-03-25 2015-06-24 广西大学 一种基于信息向量机的遥感影像海岸线提取方法
WO2017071160A1 (zh) * 2015-10-28 2017-05-04 深圳大学 一种大幅面遥感图像海陆分割的方法及系统
CN105513041A (zh) * 2015-10-28 2016-04-20 深圳大学 一种大幅面遥感图像海陆分割的方法及系统
CN105469051A (zh) * 2015-11-25 2016-04-06 中国科学院电子学研究所 一种基于不透水层检测的城市外轮廓提取方法及装置
CN105335761A (zh) * 2015-11-27 2016-02-17 郑州航空工业管理学院 一种基于最近邻的遥感影像单类信息提取方法
CN105389826A (zh) * 2015-12-23 2016-03-09 国家海洋局第一海洋研究所 珊瑚岛礁岸线高分sar遥感提取方法
CN105740794A (zh) * 2016-01-27 2016-07-06 中国人民解放军92859部队 一种基于卫星影像的海岸线自动提取与分类方法
CN105740794B (zh) * 2016-01-27 2019-07-05 中国人民解放军92859部队 一种基于卫星影像的海岸线自动提取与分类方法
CN105787911A (zh) * 2016-03-21 2016-07-20 中国林业科学研究院资源信息研究所 一种基于拓扑分形算法的图像腐蚀与膨胀处理方法
CN105787911B (zh) * 2016-03-21 2019-02-12 中国林业科学研究院资源信息研究所 一种基于拓扑分形算法的图像腐蚀与膨胀处理方法
CN106203328A (zh) * 2016-07-11 2016-12-07 北华航天工业学院 提高遥感影像中目标地物分类提取准确度的方法
CN107358161B (zh) * 2017-06-08 2020-01-10 深圳先进技术研究院 一种基于遥感影像分类的海岸线提取方法及系统
CN107358161A (zh) * 2017-06-08 2017-11-17 深圳先进技术研究院 一种基于遥感影像分类的海岸线提取方法及系统
CN109146828A (zh) * 2017-06-19 2019-01-04 合肥君正科技有限公司 一种确定图形中最大相似区域的方法及装置
CN107341809B (zh) * 2017-06-22 2020-11-20 同济大学 一种面向多源遥感影像的海岸线自动提取及偏差纠正方法
CN107341809A (zh) * 2017-06-22 2017-11-10 同济大学 一种面向多源遥感影像的海岸线自动提取及偏差纠正方法
CN107452009A (zh) * 2017-07-27 2017-12-08 中国矿业大学(北京) 一种探地雷达图像分割方法及系统
CN107507202A (zh) * 2017-09-28 2017-12-22 武汉大学 一种面向高分辨率遥感影像的植被环岛自动化提取方法
CN110832811A (zh) * 2018-05-30 2020-02-21 北京嘀嘀无限科技发展有限公司 用于发送空间数据的系统和方法
CN110832811B (zh) * 2018-05-30 2021-12-28 北京嘀嘀无限科技发展有限公司 用于发送空间数据的系统和方法
CN108985307A (zh) * 2018-07-16 2018-12-11 中国科学院东北地理与农业生态研究所 一种基于遥感影像的水体提取方法及系统
CN108985307B (zh) * 2018-07-16 2021-08-10 中国科学院东北地理与农业生态研究所 一种基于遥感影像的水体提取方法及系统
CN111027446B (zh) * 2019-12-04 2020-09-01 中国地质环境监测院 一种高分辨率影像的海岸线自动提取方法
CN111027446A (zh) * 2019-12-04 2020-04-17 中国地质环境监测院 一种高分辨率影像的海岸线自动提取方法
CN111311573A (zh) * 2020-02-12 2020-06-19 贵州理工学院 枝条确定方法、装置及电子设备
CN111311573B (zh) * 2020-02-12 2024-01-30 贵州理工学院 枝条确定方法、装置及电子设备
CN111879292A (zh) * 2020-07-27 2020-11-03 深圳大学 一种海岸线动态监控方法、监控设备及存储介质
CN113221813A (zh) * 2021-05-26 2021-08-06 广东省科学院广州地理研究所 一种海岸线遥感提取方法
CN113221813B (zh) * 2021-05-26 2022-12-06 广东省科学院广州地理研究所 一种海岸线遥感提取方法
CN113436091A (zh) * 2021-06-16 2021-09-24 中国电子科技集团公司第五十四研究所 一种面向对象的遥感图像多特征分类方法
CN113436091B (zh) * 2021-06-16 2023-03-31 中国电子科技集团公司第五十四研究所 一种面向对象的遥感图像多特征分类方法
CN113408467A (zh) * 2021-07-01 2021-09-17 中国科学院东北地理与农业生态研究所 基于Sentinel-2卫星影像和云平台的滨海养殖池智能提取方法
CN113408467B (zh) * 2021-07-01 2022-04-29 中国科学院东北地理与农业生态研究所 基于Sentinel-2卫星影像和云平台的滨海养殖池智能提取方法
CN113962993B (zh) * 2021-12-21 2022-03-15 武汉霖杉工贸有限公司 基于计算机视觉的纸杯原材料质量检测方法
CN113962993A (zh) * 2021-12-21 2022-01-21 武汉霖杉工贸有限公司 基于计算机视觉的纸杯原材料质量检测方法
CN115424142A (zh) * 2022-08-26 2022-12-02 南方海洋科学与工程广东省实验室(广州) 基于遥感影像的海岸线类型判别方法、装置、介质和设备
CN115879771A (zh) * 2023-02-20 2023-03-31 华南师范大学 一种养殖池塘溶解氧智能调控方法及系统
CN115879771B (zh) * 2023-02-20 2023-05-09 华南师范大学 一种养殖池塘溶解氧智能调控方法及系统

Also Published As

Publication number Publication date
CN102013015B (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
CN102013015B (zh) 一种面向对象的遥感影像海岸线提取方法
Cai et al. Landslide detection using densely connected convolutional networks and environmental conditions
CN102054274B (zh) 一种海岸带水体遥感信息全自动提取方法
Drăguţ et al. Object representations at multiple scales from digital elevation models
CN112287807B (zh) 一种基于多分支金字塔神经网络的遥感影像道路提取方法
Zhang et al. Learning from GPS trajectories of floating car for CNN-based urban road extraction with high-resolution satellite imagery
Liu et al. Large-scale mapping of gully-affected areas: An approach integrating Google Earth images and terrain skeleton information
CN111028255A (zh) 基于先验信息与深度学习的农田区域预筛选方法及装置
Wang et al. Urban development analysis using built-up area maps based on multiple high-resolution satellite data
Uhl et al. Towards the automated large-scale reconstruction of past road networks from historical maps
Sun et al. Coastline extraction using remote sensing: A review
Muhs et al. Automatic delineation of built-up area at urban block level from topographic maps
Oka et al. Vectorization of contour lines from scanned topographic maps
Straumann et al. Delineation of valleys and valley floors
Zhang et al. Extracting physical urban areas of 81 major Chinese cities from high-resolution land uses
Sun et al. Mapping China’s coastal aquaculture ponds expansion with sentinel-2 images during 2017–2021
Athanasiou et al. Global Coastal Characteristics (GCC): A global dataset of geophysical, hydrodynamic, and socioeconomic coastal indicators
Arosio et al. The geomorphology of Ireland’s continental shelf
Yu et al. Coastline detection using optical and synthetic aperture radar images
Al Kuwari et al. Impact of North Gas Field development on landuse/landcover changes at Al Khore, North Qatar, using remote sensing and GIS
Shimoni et al. An urban expansion model for African cities using fused multi temporal optical and SAR data
He et al. Evaluation of Global-Scale and Local-Scale Optimized Segmentation Algorithms in GEOBIA with SAM on Land Use and Land Cover
Harris et al. Evaluating water-depth variation and mapping depositional facies on Great Bahama Bank–a “flat-topped” isolated carbonate platform
CN116681711B (zh) 一种分区指导下的高分辨率遥感影像多尺度分割方法
CN117475314B (zh) 一种地质灾害隐患立体识别方法、系统及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130306

Termination date: 20151202

EXPY Termination of patent right or utility model