• 大小: 932KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: 边界提取  matlab  

资源简介

使用卷积核提取边界,然后对边界用不同网格进行长度计算,最后进行函数拟合实现海岸线维度的计算,matlab能够方便的实现矩阵操作,实现分形维数计算,网格大小参数变化计算出来的维数也会变化

资源截图

代码片段和文件信息

%%作者 郑州大学2019级测绘科学与技术
%%核心公式来源:海岸线分维数计算方法及其比较研究
%%公式:lgN(ε)=-Dlgε+A(ε为len,N(ε)为N(len))
clc
clear
%% 将必要信息加载到环境路径中 add path in
p = fileparts(mfilename(‘fullpath‘));
addpath(fullfile(p‘Algorithms‘));
addpath(fullfile(p‘Images‘));
%% 加载图像
image = double(imread(‘allgrd2.tif‘));%中国海岸线.tif、allgrd2.tif

%% 选用的网格大小
n=20;
len=zeros(1n);
N=zeros(1n);%预定义格网对应长度
parfor i=1:1:n
    len(i)=i;%设置网格大小
end
%% 主函数
tStart = tic;
load(‘kernel.mat‘);
edge=extraedge(imagekernel);
tCls1    = toc(tStart);
disp([‘计算所用时间‘sprintf(‘time= %.1f%‘tCls1)])
for i=1:n
    N(i)=gridlength(edgelen(i));%得到每种网格边界长度
end
tCls2   = toc(tStart);
disp([‘计算所用时间‘sprintf(‘time= %.1f%‘tCls2)])
%方程拟合
lenS=zeros(1n);NS=zeros(1n);
parfor i=1:n
    lenS(i)=log10(len(i));
    NS(i)=log10(N(i));

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1015  2019-11-01 19:45  海岸线维数计算\Algorithms\extraedge.m

     文件        999  2019-11-01 20:30  海岸线维数计算\Algorithms\gridlength.m

     文件        185  2019-11-01 17:31  海岸线维数计算\Algorithms\kernel.mat

     文件      21492  2019-10-25 20:52  海岸线维数计算\Images\allgrd.tif

     文件     228372  2019-10-26 17:13  海岸线维数计算\Images\allgrd2.tif

     文件    1558984  2019-11-01 18:52  海岸线维数计算\Images\中国海岸线.tif

     文件  375573770  2019-11-01 18:46  海岸线维数计算\Images\中国海岸线da.tif

     文件       1233  2020-01-12 16:27  海岸线维数计算\main.m

     文件      68071  2019-11-01 21:37  海岸线维数计算\中国海岸线结果.png

     文件      64507  2019-11-01 21:19  海岸线维数计算\随便一张图片的结果.png

     目录          0  2019-11-01 19:49  海岸线维数计算\Algorithms

     目录          0  2019-11-01 21:27  海岸线维数计算\Images

     目录          0  2019-11-01 21:45  海岸线维数计算

----------- ---------  ---------- -----  ----

            377518628                    13


评论

共有 条评论