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 &