文件交换

图像缩略图

boxcount.

版本1.0.0.0(1.6 MB) Frederic Moisy.
使用“盒子计数”方法为1D,2D和3D集的分形尺寸

67下载

更新2008年7月10日

查看许可证

BoxCount框 - 计数D维数组(具有D = 1,2,3)。

盒计数方法可用于确定A的分形特性是有用的
1D段,2D图像或3D阵列。如果C是分形集,则具有分形尺寸DF

[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.

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);

C = RandCantor(0.8,512,2);
boxcount(c);
图,boxcount(c,'斜率');

引用

Frederic Moisy(2021)。boxcount.(//www.tatmou.com/matlabcentral/fileexchange/13063-boxcount),matlab中央文件交换。检索到

意见及评分(36.

John Steve Vanegas Canchon

布纳斯说我犯了个大错
使用boxcount错误(第51行)
没有足够的输入参数。
错误(Nargchk(1,2,Nargin));

Max Segali.

谢谢你......我如何提取曲线的斜率?尺度是Logaritmic,因此基本配件没有帮助。干杯

艾哈迈德金枪鱼

韩维

Kavya Negi.

如何下载它?

Pablo Perez.

输入哪种3D图像格式?

sh琪王

弗雷德里克白

你好,
我试图使用此方法,但是有许多不同的图像,BoxCount绘图似乎完全相同。

如何让程序返回D值?

谢谢,
最好的
弗雷德。

Athos Garcia.

谢谢,在演示中的伟大工作!

eslam ali

使用boxcount错误
输出参数太多。

如何解决这个问题

眼镜蛇

感谢分享这一点

Seyed Hosein Alhoseiny.

您好,感谢您的好代码 - 我需要关于地质和矿物勘探问题中的分数模拟的代码,例如使用分形算法的估计和仿真。谢谢你

10B.

Phumzile Mabuza.

嗨,我可以询问如何获得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);
结尾;

卢卡

你的良好算法(我爱它)是否可能太慢了..?

杰夫图尔坦

感谢提交,它只是精细分析了河流横截面的分形维数。

Marian Axente.

moisy.nospam@fast.u-psud.fr每次都反弹我......

Frederic Moisy.

亲爱的玛丽安
请使用我的电子邮件地址有关此提交的问题或讨论。计算分形尺寸(盒子计数或其他方法)的算法是近似的近似,这达到了大规模分离极限的“真实”拓扑维度。我希望这有帮助。- F。

Marian Axente.

对不起......你是对的。鉴于我的分形缺乏一个问题:为什么算法在我们将正方形或立方体放入输入时,算法不会给出全拓扑维度?相反,它给出1.96或2.9。我认为对于光滑的歧管,分形尺寸等于拓扑维度。在某个地方有近似,还是如何修改代码以获取CUBE输入的完整3?

Frederic Moisy.

亲爱的玛丽安,
这意味着“程序崩溃”?请提供一个例子。如果我制作简单的测试来计算正方形的“分形”尺寸,
一个= 0(4096、4096);
a(600:800,1200:1400)= 1;
boxcount(a,'斜坡')
它正常工作(尺寸接近2的小型r,靠近0的大r,如预期)
F。

Marian Axente.

弗雷德里克

你能指向你的拳击算法的正确方向吗?如果我将立方体放在输入程序崩溃;我认为这是一种简单的方法来检查结果的一致性。

Ashwin Sundar.

Frederic Moisy.

亲爱的欧文霍恩菲尔德,
这不是真正的错误: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)
算法问题?还是我错过了什么?

Carissa Pan.

感谢分享

Carissa Pan.

感谢分享。

吨马拉卡

FABIEN MONTEL.

Clair et效果!Merci Pour Le Program,IL M'a FaitGagnédutemps

Guna Sekaran.

非常好的工具。有用。感谢作者。可能更多的文档将有助于更好地理解。

马丁洛佩兹

该计划的工作原理。
更多文档将是非常有用的。

SIMONA SSSS.

Sembra联合国程序员Che Funzioni!

Matlab释放兼容性
使用R2006A创建
兼容任何释放
平台兼容性
视窗 苹果系统 Linux.

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!