📄 bemd.m
字号:
function IMF_all=BEMD(Image,imf_num,sd,conn)
% IMF_all 用来存储分解得到的所有IMF,IMF_all初始化为一三维矩阵
% imf_num 表示想要分解得到的IMF的个数
% sd 是人工选择的阈值,一般取<0.25
% conn 是用来选取极值的参数
%---------------------------------------------------------------%
Image=imread('lena.tif');
Image=double(Image);
figure(1);imshow(Image,[])
%---------------------------------------------------------------%
%%Image=im2double(Image); %转化图像为双精度图像
%%%Image=mat2gray(double(Image)); %将double类型的图像转换成灰度级
%figure(1);imshow(Image)
%----------------------------------------------------------------%
Imm=Image;
IMF_all=[];
%[m,n]=size(Imm);
imf_num=1,conn=8,sd=0.20;
for it=1:imf_num
IMF=IMF_sift(Imm,conn,sd);
figure(it+1);imshow(IMF,[]),title('第1个IMF')
Imm=Imm-IMF;
IMF_all(:,:,it)=IMF;
end
IMF_all(:,:,it+1)=Imm;
residue=IMF_all(:,:,it+1);
figure(30);imshow(residue,[]),title('剩余图像')
IMF1=IMF_all(:,:,1);
%IMF2=IMF_all(:,:,2);
%IMF3=IMF_all(:,:,3);
%IMF4=IMF_all(:,:,4);
Res=IMF_all(:,:,2);
%breakpoint
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -