【emd分解】图像二维经验模式分解的matlab仿真

本文档介绍了使用MATLAB2013b进行图像二维经验模式分解(emd)的仿真过程。首先,详细阐述了算法的理论知识,包括局部极值点提取、delaunay三角剖分和曲面拟合。接着,讨论了筛选停止条件、边界问题处理及其对图像的影响。核心代码展示和操作步骤展示了如何通过emd分解得到5层IMF图像和5次残余图像,特别是残余图像能清晰展现血管结构。
摘要由CSDN通过智能技术生成

1.软件版本

MATLAB2013b

2.本算法理论知识

(1)对原始图像进行延拓,然后对进行极值点提取,也就是局部极值点的选取,包括极大值点和极小值点,要求采用领域点比较法,显示出局部极值点,程序运行出来的结果图要体现出提取出来的局部极值点;
(2)曲面拟合采用delaunay三角剖分,插值方法首先选择cubic方法,根据实际运行出来的结果图进行插值方法的选取,以得到清晰的imf图像和残余图像为目标,要求程序运行结果图中显示极大极小包络面,delaunay三角剖分不能仅使用matlab自带的delaunay函数,要有优化的过程,验证程序的视频要能体现delaunay函数的使用以及优化的过程,程序运行结果图中要求体现三角剖分的结果以及上下包络面;过程要求:三角剖分图像、极大包络面图像和极小包络面图像

(3)筛选停止条件,在验证程序的时候要体现出这个停止条件,Sd在0.1到0.3之间;
(4)对于边界问题的处理,根据实际结果调整镜像延拓的大小。过程要求:延拓之前极大极小值包络面图像和延拓之后极大极小值包络面;

(5)通过以上步骤,图像结果包括IMF图像和残余图像,要求输出5层IMF图像和5次残余图像;重点是在分解得到的残余图像上,要求残余图像能够清晰的体现出血管结构**;**

算法流程图

3.部分核心代码

clc;
clear;
close all;
warning off;
addpath 'func'


% %效果动态的显示
% views = 1;
%效果静态的显示
views = 0;

I0      = imread('Images.bmp');

[R,C,Kss] = size(I0);

if Kss == 1
   I = I0; 
else
   I = rgb2gray(I0);  
end
[R,C] = size(I);

%上下各做延拓
K    = 240;
X    = func_yantuo(I,1,K);

figure(1);
subplot(121);
imshow(I);
title('延拓前');
subplot(122);
imshow(X);
title('延拓后');

%I描述原图象的双精度形式
orig      = X;
orig      = double(orig);
x_width   &
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值