BoxCount框 - 计数D维数组(具有D = 1,2,3)。
盒计数方法可用于确定A的分形特性是有用的 [n,r] = boxcount(c),其中c是d维数组(用d = 1,2,3),计数大小R的D维盒的数量n所需的C尺寸r为覆盖C的非零元素。The box sizes are powers of two, i.e., R = 1, 2, 4 ... 2^P, where P is the smallest integer such that MAX(SIZE(C)) <= 2^P. If the sizes of C over each dimension are smaller than 2^P, C is padded with zeros to size 2^P over each dimension (e.g., a 320-by-200 image is padded to 512-by-512). The output vectors N and R are of size P+1. For a RGB color image (m-by-n-by-3 array), a summation over the 3 RGB planes is done first. C = RandCantor(0.8,512,2);
1D段,2D图像或3D阵列。如果C是分形集,则具有分形尺寸DF
boxcount(c,'plot')还显示n为r的函数的log-log图
(如果没有输出参数,则默认选择此选项)。
BoxCount(C,'斜率')还显示了本地斜率DF = - DLNN / DLNR的半志图,作为R的函数。如果DF在R的一定范围内呈患者,则DF是分形维数设置C.
执行时间取决于C的大小。它对于电力最快
每个维度的两个。
例子:
C =(兰特(1,2048)<0.2);
boxcount(c);
boxcount(c);
图,boxcount(c,'斜率');
Frederic Moisy(2021)。boxcount.(//www.tatmou.com/matlabcentral/fileexchange/13063-boxcount),matlab中央文件交换。检索到。
布纳斯说我犯了个大错
使用boxcount错误(第51行)
没有足够的输入参数。
错误(Nargchk(1,2,Nargin));
谢谢你......我如何提取曲线的斜率?尺度是Logaritmic,因此基本配件没有帮助。干杯
如何下载它?
输入哪种3D图像格式?
你好,
我试图使用此方法,但是有许多不同的图像,BoxCount绘图似乎完全相同。
如何让程序返回D值?
谢谢,
最好的
弗雷德。
谢谢,在演示中的伟大工作!
使用boxcount错误
输出参数太多。
如何解决这个问题
感谢分享这一点
您好,感谢您的好代码 - 我需要关于地质和矿物勘探问题中的分数模拟的代码,例如使用分形算法的估计和仿真。谢谢你
嗨,我可以询问如何获得BoxCount或RandCantor函数,我正在使用2014年学生版本,找不到函数。哪里可以从中下载
请帮忙!
你好
我正在使用这种方法
我需要计算大脑中病变的分形维数,但这是非常小的,病变的尺寸是(7x5x8),并且在这种病变中的FD结果约为1.4至2,2,并且不明白为什么这个结果,会知道应该是2-3。
喂弗雷德里克,
感谢您的提交,真的很好。
要获得更快的2D我提出而不是内部环:
C = C(1:2:末端,1:2:结束)| C(2:2:末端,1:2:结束)| C(1:2:末端,2:2:结束)| C(2:2:结束,2:2:结束);
n(g + 1)= sum(c(:));
干杯
金罗
我认为函数中的循环可以用ArrayFun替换为执行更快的执行。输出应该重新装入以便能够与Cellfun一起使用。除此之外,它是1)正确,2)令人敬畏。我认为这是你能希望的最好的。
如果RGB图像的一个频道有一些等于0的块,那么
我修改了你的代码:
[n,r] = boxcount(bcont);
如果n == 0,
df(i,j,d)= 0;
别的
df = -diff(log(n))./ diff(log(r));
DF(I,J,D)=平均值(DF);
结尾;
你的良好算法(我爱它)是否可能太慢了..?
感谢提交,它只是精细分析了河流横截面的分形维数。
moisy.nospam@fast.u-psud.fr每次都反弹我......
亲爱的玛丽安
请使用我的电子邮件地址有关此提交的问题或讨论。计算分形尺寸(盒子计数或其他方法)的算法是近似的近似,这达到了大规模分离极限的“真实”拓扑维度。我希望这有帮助。- F。
对不起......你是对的。鉴于我的分形缺乏一个问题:为什么算法在我们将正方形或立方体放入输入时,算法不会给出全拓扑维度?相反,它给出1.96或2.9。我认为对于光滑的歧管,分形尺寸等于拓扑维度。在某个地方有近似,还是如何修改代码以获取CUBE输入的完整3?
亲爱的玛丽安,
这意味着“程序崩溃”?请提供一个例子。如果我制作简单的测试来计算正方形的“分形”尺寸,
一个= 0(4096、4096);
a(600:800,1200:1400)= 1;
boxcount(a,'斜坡')
它正常工作(尺寸接近2的小型r,靠近0的大r,如预期)
F。
弗雷德里克
你能指向你的拳击算法的正确方向吗?如果我将立方体放在输入程序崩溃;我认为这是一种简单的方法来检查结果的一致性。
亲爱的欧文霍恩菲尔德,
这不是真正的错误:BoxCount不给出覆盖集所需的*最小值*框所需的框数,但只有从第1元元素开始的框数。然而,真实的是,使用第一个元素开始覆盖的盒子是任意的,并且其他选择可能导致结果略有不同。
考虑:
[n,r] = boxcount([0 1 1 0])
我可以在非零元素周围放一个1x2框。所以产出应该是:
n = [2 1 1]
r = (1 2 4)
但是boxcount返回:
n = [2 2 1]
r = (1 2 4)
算法问题?还是我错过了什么?
感谢分享
感谢分享。
Clair et效果!Merci Pour Le Program,IL M'a FaitGagnédutemps
非常好的工具。有用。感谢作者。可能更多的文档将有助于更好地理解。
该计划的工作原理。
更多文档将是非常有用的。
Sembra联合国程序员Che Funzioni!