[发明专利]一种利用遥感影像提高山体的数字高程数据分辨率的方法有效
申请号: | 201810067398.9 | 申请日: | 2018-01-24 |
公开(公告)号: | CN108280880B | 公开(公告)日: | 2018-11-16 |
发明(设计)人: | 许骏;潘欣;张素莉;付浩海;张华 | 申请(专利权)人: | 长春工程学院 |
主分类号: | G06T17/05 | 分类号: | G06T17/05 |
代理公司: | 吉林长春新纪元专利代理有限责任公司 22100 | 代理人: | 陈宏伟 |
地址: | 130021 吉林*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种利用遥感影像提高山体的数字高程数据分辨率的方法,利用遥感影像提高山体的数字高程数据分辨率的方法,通过该方法可以利用山体遥感影像中的地形边缘信息细化原有分辨率较低的数字高程数据获得较高分辨率的数字高程信息。该方法可以在不需要额外飞行和测绘情况下,仅用低分辨率数字高程数据和遥感影像数据获得山体较高分辨率的数字高程数据,满足多山地区自然环境三维建模的需要。 | ||
搜索关键词: | 数字高程 山体 遥感影像 数据分辨率 高分辨率 遥感影像数据 边缘信息 低分辨率 多山地区 三维建模 数据获得 分辨率 细化 测绘 自然环境 地形 飞行 | ||
【主权项】:
1.一种利用遥感影像提高山体的数字高程数据分辨率的方法,包括以下步骤:S1,输入较低分辨率的数字高程数据DEM,输入山体高分辨率高程数据的分辨率M,输入生成数据的横坐标X和纵坐标Y,横向长度W和纵向长度H;构造山体三维高度基准网BNET:S101,山体高分辨率高程数据横向元素个数WNUM=Round(W/M+0.5);S102,山体高分辨率高程数据纵向元素个数HNUM=Round(H/M+0.5);其中,Round为进行四舍五入;S103,建立BNET,BNET为一个WNUM列HNUM行的数组,该数组的每一个元素为一个基准结构体BStruct;BStruct包含以下字段内容,所有字段的初始值为0;BX1 所在横坐标初始值为0;BY1 所在纵坐标初始值为0;BValue 基准高度值初始值为0;BID 数字高程点的编号初始值为0;TID 团块关系编号初始值为0;LYZD 邻域最低值初始值为0;LYZG 邻域最高值初始值为0;CValue 重构高度值初始值为0;S2,根据数字高程数据DEM初始化三维高度基准网BNET中所有BStruct的值:S201,取出BNET中的一个元素BPoint,BPoint为一个BStruct类型的结构体;S202,BPoint在BNET中所在行为HH,所在列为LL;S203,计算BPoint的所在横坐标BPoint.BX1=X+LL×M,所在纵坐标BPoint.BY1=Y+HH×M;S204,在DEM中找到一个与(BPoint.BX1,BPoint.BY1)距离最近的点,取出该点编号ID其海拔高度Elevation,在BPoint中设置BPoint.BID=ID,BPoint.BValue=Elevation;S205,如果BNET中所有数据被取完那么转到S206,否则转到S201;S206,团块计数器tcounter=1;S207,取出BNET中一个TID为0的元素BPoint2;S208,设置BPoint2的团块关系编号BPoint2.TID=tcounter;S209,对于BNET中所有数字高程点的编号BID与BPoint2的BID相同的元素,设置其TID的值为tcounter;S210,tcounter=tcounter+1;S211,如果BNET中存在TID为0的元素,那么转到S207,否则转到S212;S212,团块最大编号值MAXTID=tcounter‑1;S3,根据BNET中的所有元素的团块关系编号TID,计算BNET中每个元素的邻域最低值、邻域最高值:S301,编号计数器ITID=1;S302,取出BNET中TID=ITID的所有元素放入列表PLIST中;S303,取出BNET中TID≠ITID并且与PLIST中任意一个元素相邻的元素,放入NLIST中;S304,统计NLIST中所有的元素高度值BValue,获得最大值MaxBValue和最小值MinBValue;S305,对于列表PLIST中的所有元素,其邻域最低值LYZD=MinBValue,邻域最高值LYZG=MaxBValue;S306,ITID=ITID+1;S307,如果ITID大于MAXTID那么转到S308,否则转到S302;S308,该步骤处理结束;S4,输入遥感影像Image计算影像边缘梯度数组TDArray:S401,获得遥感影像Image的行数Rows和列数Cols;S402,建立行数为Rows和列数Cols边缘梯度数组TDArray,数组中每一个元素的初始值为1.0;S403,建立行数为Rows和列数Cols的归一化数组NormArray;S404,对于Image中的每一个像元pixel,该像元所在的行为HSS,所在列为LSS,计算该像元所有波段值的和pixelsum,将pixelsum存储到NormArray的行为HSS列为LSS的元素当中;S405,对NormArray中的所有元素归一化到区间[0,1]之间;S406,取出NormArray中的一个元素存储到元素变量NPixel中;S407,获得NPixel所在的行NHSS,和所在列NLSS;S408,如果NHSS>=2并且NHSS<(Rows‑2)转到S409,否则转到S413;S409,如果NLSS>=2并且NLSS<(Cols‑2)转到S410,否则转到S413;S410,设定变量Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9的值,它们的值如下:Z1=NormArray的第NHSS‑1行,第NLSS‑1列的元素的值;Z2=NormArray的第NHSS‑1行,第NLSS列的元素的值;Z3=NormArray的第NHSS‑1行,第NLSS+1列的元素的值;Z4=NormArray的第NHSS行,第NLSS‑1列的元素的值;Z5=NormArray的第NHSS行,第NLSS列的元素的值;Z6=NormArray的第NHSS行,第NLSS+1列的元素的值;Z7=NormArray的第NHSS+1行,第NLSS‑1列的元素的值;Z8=NormArray的第NHSS+1行,第NLSS列的元素的值;Z9=NormArray的第NHSS+1行,第NLSS+1列的元素的值;S411,计算边缘梯度算子bytd的值,其公式如下:temp1=tanh((Z7+2×Z8+Z9)‑(Z1+2×Z2+Z3));temp2=tanh((Z3+2×Z6+Z9)‑(Z1+2×Z4+Z7));
其中,tanh为双曲正切函数;S412,将bytd存储到TDArray的第NHSS行第NLSS列的元素之中;S413,如果NormArray中尚有数据未处理则转到S406,否则转到S414;S414,本步骤处理结束;S5,结合遥感影像Image和边缘梯度数组TDArray调整山体三维高度基准网BNET每一个元素的重构高度值CValue:S501,在BNET中取出一个元素BPoint;S502,取出Image中位置在横坐标在BPoint.BX1‑M/2和BPoint.BX1+M/2之间,纵坐标在BPoint.BY1‑M/2和BPoint.BY1+M/2之间的所有像元,放入Bpixellist中;S503,取出TDArray中的与Bpixellist中所有像元行和列位置相同的数组元素,放入TDList中;S504,计算TDList中所有元素的均值放入均值变量avg中;S505,设定BPoint的重构高度值Cvalue,公式如下:BPoint.Cvalue=BPoint.Bvalue+(avg‑1)×(BPoint.LYZG‑BPoint.LYZD)S506,如果BNET中所有元素处理完毕那么转到S507,否则转到S501;S507,本过程处理结束;S6,根据山体三维高程基准网BNET,建立山体较高分辨率数字高程数据DEM2:S601,建立空的较高分辨率数字高程数据DEM2;S602,编号计数器IDCounter=0;S603,取出BNET中的一个元素BPoint;S604,将编号计数器IDCounter,所在横坐标BPoint.BX1,所在纵坐标BPoint.BY1,重构高度值BPoint.CValue加入到DEM2之中;S605,IDCounter=IDCounter+1;S606,如果BNET中所有元素处理完毕那么转到S607,否则转到S603;S607,本过程处理结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长春工程学院,未经长春工程学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810067398.9/,转载请声明来源钻瓜专利网。