⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bemd.m

📁 这个是EMD分解算法,相对比较简单,十分适合初学者,我开始也是从个程序入手的,觉得十分不错,与大家共享.
💻 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 + -