matlab图像处理-差分盒维数

计算数字图像的分形维数,导入数字图像,调用这个函数,就可以得到分形曲线,斜率

RGB=imread('C:\Users\Administrator\Desktop\22.jpg ‘);
imshow(RGB);
I=rgb2gray(RGB) ;
threshold = graythresh(I);
bw = im2bw(I,threshold);
figure;
imshow(bw); %(黑白图片)
X=double(~bw);
imshow(~bw);
fraclab
if size(X,1)~= size(X,2);
error(‘The size of X must NxN’);
end
B=size(X,1);
if mod(log2(B),1)>0;
error(‘The size of X must 2^n’);
end
t=log2(B);
s=2.^(1:t);
Nr=zeros(1,t);
for k=1:t;
h=256s(k)/B;
w=B/s(k);
for m=1:w;
for n=1:w;
A=X(1+s(k)
(m-1)?(k)m,1+s(k)(n-1)?(k)n);
mn=min(A);
Mn=min(mn);
mx=max(A);
Mx=max(mx);
no=ceil(Mx/h)-ceil(Mn/h)+1;
Nr(k)=Nr(k)+no;
end
end
end
r=s./B(1);
p=polyfit(-log10®,log10(Nr),1);
fractaldimension=p(1)
plot(-log10®,log10(Nr),’
’,-log10®,-p(1)*log10®+p(2));
xlabel(‘lg(尺寸)’)
ylabel(‘lg(像素数)’)
title([‘差分盒维数=’,num2str(p(1))]);

  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值