资源简介

二维EMD程序,这是利用最新的插值函数,个比较经典的二维经验模式分解程序代码,适用于图像的特征提取和分解

资源截图

代码片段和文件信息

function [imf_matrix]=bemd(img)

%%输入一副灰度图像
[rowcoldep] = size(img);%  row col and depth of original image
if dep ~= 1
    img = im2double(rgb2gray(img));
else
    img = im2double(img);  
end

%%%%%主函数
% 分解IMF个数设置为3(加上残余量为4个分解量)(可根据实际情况修改)
m=4;
k=1;
input_img=img;
while(k    [imf_de res_de]=decompsition(input_img);  %% 通过分解得到IMF分量和余项
    imf_matrix(::k)=imf_de;%%保存IMF分量
    input_img=res_de; %%将余项作为新信号,再次分解
    k=k+1;
end
imf_matrix(::k)=res_de;%%保存残余量
end 


function  [imf_de res_de]=decompsition(input_img)

[width height]=size(input_img);
x=1:width;
y=1:height;
input_img_temple=input_img;

while(1)
    [zmax imax zmin imin]=extrema2(input_img_temple);  %%%%图像表面极值点
    [xmax ymax]=ind2sub(size(input_img_temple)imax);
    [xmin ymin]=ind2sub(s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1364  2018-06-03 09:39  bemd\bemd.m

     文件       3723  2018-06-03 09:48  bemd\extrema.m

     文件       5480  2018-06-03 09:47  bemd\extrema2.m

     文件      33939  2006-08-06 09:34  bemd\gridfit.m

     目录          0  2018-07-04 07:09  bemd

----------- ---------  ---------- -----  ----

                44506                    5


评论

共有 条评论