资源简介
使用卷积核提取边界,然后对边界用不同网格进行长度计算,最后进行函数拟合实现海岸线维度的计算,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
- 上一篇:AR模型功率谱估计burg算法
- 下一篇:小波分析第二版matlab代码
评论
共有 条评论