欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2018100673989
申请人: 长春工程学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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.X1=X+LL×M,所在纵坐标BPoint.Y1=Y+HH×M;

S204,在DEM中找到一个与(BPoint.X1,BPoint.Y1)距离最近的点,取出该点编号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.X1-M/2和BPoint.X1+M/2之间,纵坐标在BPoint.Y1-M/2和BPoint.Y1+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,本过程处理结束。