没有合适的资源?快使用搜索试试~ 我知道了~
首页利用MATLAB计算分形维数
利用MATLAB计算分形维数

计算二维图像的分形维数,将彩色图转为灰度图,经过边缘检测,灰度处理,再转为二值图,最后求解分形维数
资源详情
资源评论
资源推荐

close all; %关闭当前所有图形窗口,清空工作空间变量,
清除工作空间所有变量
clear all;
clc;
I = imread('sample6.jpg'); %读取图像,并赋值给 I
I=rgb2gray(I); %彩色图像变为灰度图像
[G,gabout] = gaborfilter(I,2,4,16,pi/16); %调用 garborfilter()函数对图像做小波变换
J=fft2(gabout); %对滤波后的图像做 FFT 变换,变换到频域/
A=double(J);
[m,n]=size(A);
B=A;
C=zeros(m,n);
for i=1:m-1
for j=1:n-1
B(i,j)=A(i+1,j+1);
C(i,j)=abs(round(A(i,j)-B(i,j)));
end
end
h=imhist(mat2gray(C))/(m*n); %对矩阵 C 归一化处理后求其灰度直方图,得到
归一化的直方图
mean=0;con=0;ent=0;
for i=1:256 %求图像的均值、对比度和熵
mean=mean+(i*h(i))/256;
con=con+i*i*h(i);
if(h(i)>0)
ent=ent-h(i)*log2(h(i));
end
end
set(0,'defaultFigurePosition',[100,100,1000,500]);%修改图形图像位置的默认设置
set(0,'defaultFigureColor',[1 1 1])
figure;subplot(121);imshow(I);
subplot(122);imshow(uint8(gabout));
mean,con,ent
A=gabout;
FF=size(A);
% 计算灰度矩阵的大小;
for i=1:FF(1)
for j=1:FF(2)
if A(i,j)==0 % 等多种运算是不支持“0”值的;
end
end
end
%imwrite(A,'bacteria2.jpg');
% 重新保存经校正后灰度矩阵;

















weixin_41991826
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论5