区域灰度和方向成分算子的遥感影像中树冠直径提取方法技术

技术编号:20046734 阅读:46 留言:0更新日期:2019-01-09 04:45
本发明专利技术提供一种区域灰度和方向成分算子的遥感影像中树冠直径提取方法,利用不断扩大的区域灰度和方向成分算子发现遥感影像一定区域范围内像元的构成、以及明暗方向的规律,并基于这一规律进行区域扩大来对遥感影像中树冠直径进行提取。利用本发明专利技术能够应对同一树木的像元颜色的不同,同时在能够容忍从树木中心到边沿树木形态的变化,使得提取的效率更高。

【技术实现步骤摘要】
区域灰度和方向成分算子的遥感影像中树冠直径提取方法
本专利技术涉及一种区域灰度和方向成分算子的遥感影像中树冠直径提取方法,根据同一树木的像元颜色的不同,同时在能够容忍从树木中心到边沿树木形态的变化,使得提取的效率更高,属于遥感影像大数据处理

技术介绍
通过遥感影像可以相对廉价的、大面积的提取森林中的树冠信息,提取森林的树冠直径可以发现森林的生长情况、病虫害、火灾受损面积,并据此发现植物生长、生态系统演替等重要的环境与资源信息,因此研发遥感影像树冠提直径取算法具有非常重要的意义。当前的方法主要的手段是通过图像分割算法,在指定阈值之后提取出树冠所对应的图像区域,再利用膨胀与腐蚀算法将单个树冠提取出来,最后获得树冠的直径。此类方法对于树木颜色与背景土地颜色差异较大,且形态较为均匀的树木较为有效。然而随着遥感影像分辨率的提高,一方面,在像元层面上想要获得均匀的颜色较为困难,如一个树木在照耀下部分和未照射到的部分的叶片颜色截然不同;另一方面,树木的形态较难维持规则的椎体形态,在从树木中心到边沿,其形态可能在一定范围内发生变化,如树顶尖的方向可能与整个树木的方向有微小的偏差。所以现有方法在提取树冠的过程中可能会遇到困难。因此需要提出一种方法,能够应对同一树木的像元颜色的不同,同时在能够应对从树木中心到边沿树木形态的变化。
技术实现思路
:针对现有技术存在的问题,本专利技术提供一种区域灰度和方向成分算子的遥感影像中树冠直径提取方法,该方法利用不断扩大的区域灰度和方向成分算子发现遥感影像一定区域范围内像元的构成、以及明暗方向的规律,并基于这一规律进行区域扩大来对遥感影像中树冠直径进行提取。本专利技术提供一种区域灰度和方向成分算子的遥感影像中树冠直径提取方法,包括以下步骤:S1,输入由红、绿、蓝三个波段构成的遥感影像Image,将Image转换为256级灰度的灰度影像GrayImage,建立树木直径探测结构RStruct;输入区域变化容忍度最大阈值MaxRate、区域变化容忍度最小阈值MinRate,阈值阶梯Gap;指定当前容忍度变量CurrentRate=MaxRate;S101,输入遥感影像Image;S102,将Image转换为256级灰度的灰度影像GrayImage;S103,对GrayImage的所有像元进行统计,获得GrayImage的所有像元的均值IMean;S104,建立树木直径探测结构RStruct,RStruct对应GrayImage上的一个位置,该结构包含以下属性;RX,该结构在GrayImage上对应的横坐标;RY,该结构在GrayImage上对应的纵坐标;RCircleVector圆区域灰度和方向成分矢量,为一个8个元素的矢量,初始值为[0,0,0,0,0,0,0,0];RStop标志是否需要进行继续计算,值为TRUE或FALSE,初始值为FALSE;RScale圆形区域尺度,初始值为2;RRemoved删除标记,值为TRUE或FALSE,初始值为FALSE;S105,输入区域变化容忍度最大阈值MaxRate、区域变化容忍度最小阈值MinRate,阈值阶梯Gap;MaxRate的默认值为0.5,MinRate的默认值为0.1,Gap的默认值为0.01;S106,CurrentRate=MaxRate;S2,建立圆区域灰度和方向成分算子CircleOperator,该算子的输入为横坐标CX,纵坐标CY,尺度CScale,输出为圆区域灰度和方向成分矢量CircleVector;S201,建立圆区域成分算子CircleOperator,该算子的输入为横坐标CX,纵坐标CY,尺度CScale,S202,pixels=在GrayImage上取出以CX和CY为中心以CScale为半径的圆的范围内的所有像元;S203,pixelnum=pixels内像元的个数;S204,基于像元灰度值对pixels的所有像元进行K-Means算法聚类,聚类中心点个数为4,K-Means初始化中心点的灰度值分别为0、64、128、182,聚类的结果将pixels中的所有像元分配到4个像元分组内,分别为group1、group2、group3、group4;S205,计算如下灰度成分变量,a1=group1中像元个数/pixelnum,a2=group2中像元个数/pixelnum,a3=group3中像元个数/pixelnum,a4=group4中像元个数/pixelnum;S206,初始化方向成分数组b,该数组包含4个元素,初始值为0;S207,像元分组加和值sumvalue=0;S208,像元计数器pixelcounter=1;S209,tpixel=取出pixels中的第pixelcounter个元素,获取tpixel在GrayImage上的横坐标TCX和纵坐标TCY;S210,查找tpixel所处的像元分组,如果在group1内则tvalue=1,如果在group2内则tvalue=2,如果在group3内则tvalue=3,如果在group4内则tvalue=4;S211,建立向量v1,该向量的起点为(CX,CY)终点为(CX+1,CY);建立向量v2,该向量的起点为(CX,CY)终点为(TCX,TCY);计算以v1的方向为起始,以(CX,CY)为中心逆时针旋转到v2的方向对应的夹角angle;S212,计算位置变量position=round(angle/90),其中round为进行四舍五入;S213,设置方向成分数组b的第position个元素的值,b[position]=b[position]+tvalueS214,sumvalue=sumvalue+tvalue;S215,pixelcounter=pixelcounter+1;S216,如果pixelcounter>pixelnum则转到S217,否则转到S209;S218,计算方向成分数组b,对应公式为b[1]=b[1]/sumvalue,b[2]=b[2]/sumvalue,b[3]=b[3]/sumvalue,b[4]=b[4]/sumvalue;S219,建立圆区域灰度和方向成分矢量CircleVector=[a1,a2,a3,a4,b[1],b[2],b[3],b[4]]S220,将CircleVector作为结果返回;S3,对于GrayImage中的每一个像元,建立树木直径探测结构RStruct,放入RStruct列表RStructList中,RStructList的元素个数为RNum;S301,建立RStruct列表RStructList,RStructList初始状态下包含0个元素;S302,CTPixel=在GrayImage中取出一个像元;S303,CTRStruct=建立一个RStruct结构;S304,CTRStruct.RX=CTPixel在GrayImage中的横坐标,CTRStruct.RY=CTPixel在GrayImage中的纵坐标;S305,CTRStruct.RCircleVector=CircleOperator(CTRStruct.RX,CTRStruct.RY,CTRStruct.RScal本文档来自技高网...

【技术保护点】
1.一种区域灰度和方向成分算子的遥感影像中树冠直径提取方法,包括以下步骤:S1,输入由红、绿、蓝三个波段构成的遥感影像Image,将Image转换为256级灰度的灰度影像GrayImage,建立树木直径探测结构RStruct;输入区域变化容忍度最大阈值MaxRate、区域变化容忍度最小阈值MinRate,阈值阶梯Gap; 指定当前容忍度变量CurrentRate=MaxRate;S101,输入遥感影像Image;S102,将Image转换为256级灰度的灰度影像GrayImage;S103,对GrayImage的所有像元进行统计,获得GrayImage的所有像元的均值IMean;S104,建立树木直径探测结构RStruct,RStruct对应GrayImage上的一个位置,该结构包含以下属性;RX,该结构在GrayImage上对应的横坐标;RY,该结构在GrayImage上对应的纵坐标;RCircleVector圆区域灰度和方向成分矢量,为一个8个元素的矢量,初始值为[0,0,0,0,0,0,0,0];RStop标志是否需要进行继续计算,值为TRUE或FALSE,初始值为FALSE;RScale圆形区域尺度,初始值为2;RRemoved删除标记,值为TRUE或FALSE,初始值为FALSE;S105,输入区域变化容忍度最大阈值MaxRate、区域变化容忍度最小阈值MinRate,阈值阶梯Gap;MaxRate的默认值为0.5,MinRate的默认值为0.1,Gap的默认值为0.01;S106,CurrentRate=MaxRate;S2,建立圆区域灰度和方向成分算子CircleOperator,该算子的输入为横坐标CX,纵坐标CY,尺度CScale,输出为圆区域灰度和方向成分矢量CircleVector;S201,建立圆区域成分算子CircleOperator,该算子的输入为横坐标CX,纵坐标CY,尺度CScale,S202, pixels=在GrayImage上取出以CX和CY为中心以CScale为半径的圆的范围内的所有像元;S203,pixelnum= pixels内像元的个数;S204,基于像元灰度值对pixels的所有像元进行K‑Means算法聚类,聚类中心点个数为4,K‑Means初始化中心点的灰度值分别为0、64、128、182,聚类的结果将pixels中的所有像元分配到4个像元分组内,分别为group1、group2、group3、group4;S205,计算如下灰度成分变量,a1=group1中像元个数/ pixelnum,a2=group2中像元个数/ pixelnum,a3=group3中像元个数/ pixelnum,a4=group4中像元个数/ pixelnum;S206,初始化方向成分数组b,该数组包含4个元素,初始值为0;S207,像元分组加和值sumvalue=0;S208,像元计数器pixelcounter=1;S209,tpixel=取出pixels中的第pixelcounter个元素,获取tpixel在GrayImage上的横坐标TCX和纵坐标TCY;S210,查找tpixel所处的像元分组,如果在group1内则tvalue=1,如果在group2内则tvalue=2,如果在group3内则tvalue=3,如果在group4内则tvalue=4;S211,建立向量v1, 该向量的起点为(CX,CY) 终点为(CX+1,CY);建立向量v2,该向量的起点为(CX,CY)终点为(TCX,TCY);计算以v1的方向为起始,以(CX,CY)为中心逆时针旋转到v2的方向对应的夹角angle;S212,计算位置变量position=round(angle/90),其中round为进行四舍五入;S213, 设置方向成分数组b的第position个元素的值,b[position]= b[position]+tvalueS214,sumvalue=sumvalue+tvalue;S215,pixelcounter=pixelcounter+1;S216,如果pixelcounter>pixelnum则转到S217,否则转到S209;S218,计算方向成分数组b,对应公式为b[1]=b[1]/sumvalue, b[2]=b[2]/sumvalue, b[3]=b[3]/sumvalue, b[4]=b[4]/sumvalue;S219, 建立圆区域灰度和方向成分矢量CircleVector=[a1,a2,a3,a4,b[1],b[2],b[3],b[4]]S220, 将CircleVector作为结果返回;S3,对于GrayImage中的每一个像元,建立树木直径探测结构RStruct,放入RStruct列...

【技术特征摘要】
1.一种区域灰度和方向成分算子的遥感影像中树冠直径提取方法,包括以下步骤:S1,输入由红、绿、蓝三个波段构成的遥感影像Image,将Image转换为256级灰度的灰度影像GrayImage,建立树木直径探测结构RStruct;输入区域变化容忍度最大阈值MaxRate、区域变化容忍度最小阈值MinRate,阈值阶梯Gap;指定当前容忍度变量CurrentRate=MaxRate;S101,输入遥感影像Image;S102,将Image转换为256级灰度的灰度影像GrayImage;S103,对GrayImage的所有像元进行统计,获得GrayImage的所有像元的均值IMean;S104,建立树木直径探测结构RStruct,RStruct对应GrayImage上的一个位置,该结构包含以下属性;RX,该结构在GrayImage上对应的横坐标;RY,该结构在GrayImage上对应的纵坐标;RCircleVector圆区域灰度和方向成分矢量,为一个8个元素的矢量,初始值为[0,0,0,0,0,0,0,0];RStop标志是否需要进行继续计算,值为TRUE或FALSE,初始值为FALSE;RScale圆形区域尺度,初始值为2;RRemoved删除标记,值为TRUE或FALSE,初始值为FALSE;S105,输入区域变化容忍度最大阈值MaxRate、区域变化容忍度最小阈值MinRate,阈值阶梯Gap;MaxRate的默认值为0.5,MinRate的默认值为0.1,Gap的默认值为0.01;S106,CurrentRate=MaxRate;S2,建立圆区域灰度和方向成分算子CircleOperator,该算子的输入为横坐标CX,纵坐标CY,尺度CScale,输出为圆区域灰度和方向成分矢量CircleVector;S201,建立圆区域成分算子CircleOperator,该算子的输入为横坐标CX,纵坐标CY,尺度CScale,S202,pixels=在GrayImage上取出以CX和CY为中心以CScale为半径的圆的范围内的所有像元;S203,pixelnum=pixels内像元的个数;S204,基于像元灰度值对pixels的所有像元进行K-Means算法聚类,聚类中心点个数为4,K-Means初始化中心点的灰度值分别为0、64、128、182,聚类的结果将pixels中的所有像元分配到4个像元分组内,分别为group1、group2、group3、group4;S205,计算如下灰度成分变量,a1=group1中像元个数/pixelnum,a2=group2中像元个数/pixelnum,a3=group3中像元个数/pixelnum,a4=group4中像元个数/pixelnum;S206,初始化方向成分数组b,该数组包含4个元素,初始值为0;S207,像元分组加和值sumvalue=0;S208,像元计数器pixelcounter=1;S209,tpixel=取出pixels中的第pixelcounter个元素,获取tpixel在GrayImage上的横坐标TCX和纵坐标TCY;S210,查找tpixel所处的像元分组,如果在group1内则tvalue=1,如果在group2内则tvalue=2,如果在group3内则tvalue=3,如果在group4内则tvalue=4;S211,建立向量v1,该向量的起点为(CX,CY)终点为(CX+1,CY);建立向量v2,该向量的起点为(CX,CY)终点为(TCX,TCY);计算以v1的方向为起始,以(CX,CY)为中心逆时针旋转到v2的方向对应的夹角angle;S212,计算位置变量position=round(angle/90),其中round为进行四舍五入;S213,设置方向成分数组b的第position个元素的值,b[position]=b[position]+tvalueS214,sumvalue=sumvalue+tvalue;S215,pixelcounter=pixelcounter+1;S216,如果pixelcounter>pixelnum则转到S217,否则转到S209;S218,计算方向成分数组b,对应公式为b[1]=b[1]/sumvalue,b[2]=b[2]/sumvalue,b[3]=b[3]/sumvalue,b[4]=b[4]/sumvalue;S219,建立圆区域灰度和方向成分矢量CircleVector=[a1,a2,a3,a4,b[1],b[2],b[3],b[4]]S220,将CircleVector作为结果返回;S3,对于GrayImage中的每一个像元,建立树木直径探测结构RStruct,放入RStruct列表RStructList中,RStructList的元素个数为RNum;S301,建立RStruct列表RStructList,RStructList初始状态下包含0个元素;S302,CTPixel=在GrayImage中取出一个像元;S303,CTRStruct=建立一个RStruct结构;S304,CTRStruct.RX=CTPixel在GrayImage中的横坐标,CTRStruct.RY=CTPixel在GrayImage中的纵坐标;S305,CTRStruct.RCircleVector=CircleOperator(CTRStruct.RX,CTRStruct.RY,CTRStruct.RScale),利...

【专利技术属性】
技术研发人员:许骏付浩海潘欣张敏张妳妳
申请(专利权)人:长春工程学院
类型:发明
国别省市:吉林,22

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

1