为了账号安全,请及时绑定邮箱和手机立即绑定

求分数盒子维数算法的matlab或C/C++源程序?

求分数盒子维数算法的matlab或C/C++源程序?

C++
喵喵时光机 2019-02-05 14:06:57
求分数盒子维数算法的matlab或C/C++源程序
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

描述颗粒形貌边界的分形维数matlab程序:
  im=imread('e:\4.bmp');
imshow(im);
gr=im;
level = graythresh(gr);
figure,imshow(gr);
bw=im2bw(gr,0.5);
%bw= bwperim(bw);
%bw=~bw;
figure,imshow(bw);
  bw=edge(bw,'canny');
  figure,imshow(bw);
  si=size(bw);
  minblock=1;
  maxblock=16;
  flag=0;
  n=linspace(0,0,maxblock-minblock+1);
  for k=minblock:maxblock
   for y=1:k:si(2)-k
   for x=1:k:si(1)-k
   flag=0;
   for y1=y:y+k-1
   for x1=x:x+k-1
   if bw(x1,y1)==1
   flag=1;
   end;
   end;
   end;
   if flag==1
   n(k-minblock+1)=n(k-minblock+1)+1;
   end;
   end;
   end;
  end;
  aa=[minblock:maxblock];
  xx1=-log(aa);
  yy1=log(n);
  a=polyfit(yy1,xx1,1);
  x=polyval(a,yy1);
  figure,plot(xx1,yy1,'k+',x,yy1,'r');
  D=1/a(1);




查看完整回答
反对 回复 2019-03-03
  • 1 回答
  • 0 关注
  • 405 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信