m图像多重分形谱计算matlab仿真

简介: m图像多重分形谱计算matlab仿真

1.算法仿真效果
matlab2022a仿真结果如下:
775cab6db8477a706fdba20f24226e88_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要
多重分形(multifractal)一种分为多个区域的复杂分形结构。为了对分形的复杂性和不均匀性进行更细致地刻画,需引进它的概率分布函数及其各阶矩的计算,由此构成了分形维数的一个连续谱,称之为多重分形或多标度分形。
由于多重分形至今尚无严格的数学定义,以下仅通过实例进行简单的描述.设有一个分布不均匀的分形,首先将它分成若干个小区域,定义第i区域内的密度分布函数为尸,假定尸,存在着标度关系.其中e是一个小的测量单位,a是一个标度指数,称为奇异指数,它是反映分形体内各个小区间的奇异程度的一个量,所以a的数值与其所在的位置有关.进一步将分形上具有相同a值的小区间数记为
f (a)被称为奇异谱,因为它将奇异值a的密度用一个连续函数来表示.另一方面,还可将分布函数进行加权求和,得到
r(y)常称为质量指数.再定义加权后的广义分形维数D。为

  从上述公式中可知,当9=。时,D。就是普通的分形维数,而D,称为信息维数,D:称为关联维数.因此,几,被称为广义分形维数.经过简单的计算可得a, 六a)和:<q) }D、这两组参量之间的对应关系式为.
  这一系列公式给出了多重分形理论的基本核心.利用多重分形,可把一个复杂的分形分成许多具有不同奇异程度的小区域来研究,从而能分层次地来 [1]  了解分形的内部精细结构.

    计算多重分形谱概率的方法有两种:一种是针对灰度图像的算法,将图像灰度信息转换为高度矩阵,然后分割求高度概率;另一种是针对黑白图像的算法,分割求白色像素概率(黑色为背景)。

具体计算过程:

计算图像尺寸,L×L,尺寸大小应为L=2^n

对图像进行网格划分,每个网格尺寸为s×s,ε=s/L,1<=s<L,s为能被2整除的正整数

一、首先定义配分函数,此函数是对概率的加权求和,即

c945d745da7c02eb30322de3d713d861_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

三、质量指数。配分函数与尺度ε存在幂函数关系Iq(ε)= ετ(q),两边取对数,则可得到

ad5afa2a33bad9fd42bdddb145643e97_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序
```Qran = 20qs;
for kj=1:p
count = 0;
No_boxes = power(Rs,2)/power(power(2,kj),2);
for q = -Qran:10
qstep:Qran
qsum = 0;
for i=1:No_boxes
if PsL(i,kj) ~= 0
qsum = qsum + power(PsL(i,kj),q);
end
end
fqnum = 0;
aqnum = 0;
smuiqL = 0;
for i=1:No_boxes
if PsL(i,kj) ~= 0
muiqL = power(PsL(i,kj),q)/qsum;
fqnum = fqnum + (muiqL log(muiqL));
aqnum = aqnum + (muiqL
log(PsL(i,kj)));
smuiqL = smuiqL + muiqL;
end
end
count = count + 1;
fql(kj,count) = fqnum;
aql(kj,count) = aqnum;
qval(count) = q;
end
end
for i=1:count
line = polyfit(logl,aql(:,i),1);
aq(i) = line(1);
yfit = polyval(line,logl);
sse = sum(power(aql(:,i)-yfit,2));
sst = sum(power(aql(:,i)-mean(aql(:,i)),2));
ar2(i) = 1-(sse/sst);
end
for i=1:count
line = polyfit(logl,fql(:,i),1);
fq(i) = line(1);
yfit = polyval(line,logl);
sse = sum(power(fql(:,i)-yfit,2));
sst = sum(power(fql(:,i)-mean(fql(:,i)),2));
fr2(i) = 1-(sse/sst);
end
for i=1:count
Dq(i) = (aq(i)*qval(i)-fq(i))/(qval(i)-1);
end

aqs = aq;
fqs = fq;
qvals = qval;
Dqs = Dq;
```

相关文章
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
268 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
132 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
117 0
|
2月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
193 0
|
2月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
188 8
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
131 0
|
2月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
178 8
|
2月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
172 8
|
2月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
|
2月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
176 12

热门文章

最新文章