✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
提出了一种基于二维连续小波变换的电子散斑干涉(ESPI)条纹图相位提取方法.通过检测二维小波脊确定条纹相位,并引入条纹频率作为向导,有效地避免了相位解调过程中的符号奇异性问题,从而使该算法既能处理开条纹图也能处理闭条纹图,且对散斑噪声具有较强的抑制能力.数值模拟和实验结果表明,该方法在抑制散斑噪声的同时能够有效地提取出条纹相位,对开条纹图和闭条纹图都能处理.
⛄ 部分代码
close all;clc;clear;
%% 调制光栅进行 不适用于横条纹
% img=(imread('face 4.jpg')); %读入图片
% img=(imread('5D.bmp')); %读入图片
% img=(imread('2B.jpg')); %读入图片
img=(imread('4P.jpg')); %读入图片
% img=(imread('2C.bmp')); %读入图片
if numel( size( img ) ) > 2
img = rgb2gray( img ); % 3通道图像转换为单通道
end
global img_height;
global img_width;
[img_height, img_width ] = size( img );
% sigma=25;%添加噪声的标准差
% imgnoise=imnoise(img,'gaussian',0,(sigma/255)^2); %添加均值为0,标准差为sigma高斯噪声
% imshow(imgnoise);
% img = imgnoise;
%% 二维连续小波变换
% :paul
% :fan、gabmexh、cauchy
% dog
% :sinc endstop1 gaus3 gaus2 gaus escauchy esmexh esmorl
% :rmorl endstop2 isomorl dog2 isodog dogpow pethat wheel
cwtstruct = cwtft2(img,'wavelet','fan','scales',1:0.5:20,'angles',0,'plot'); axis equal;
global Len_scales;
global Len_angles; % 设为全局变量,供部分子函数调用
Len_scales = size(cwtstruct.cfs, 4); % 获得尺度的个数
Len_angles = size(cwtstruct.cfs, 5); % 获得角度变化的个数
%% 分别对每行平移量利用代价函数提取小波脊
[opt_Scale, opt_Angle] = phase_extract_cost( cwtstruct );
⛄ 运行结果
⛄ 参考文献
[1] 韩民, 成旭. 基于小波变换的多尺度锥束CT图像快速三维重建方法:, CN106228601A[P]. 2016.
[2] 王翠珍, 陈振学, 王燕. 基于小波和双边滤波的活体牙CT图像去噪及三维重建[J]. 2016.
[3] 韩民, 成旭, 李登旺. 基于小波变换的多分辨率锥束CT图像快速三维重建算法[J]. 电子与信息学报, 2017, 39(10):5.
[4] 孔令凯, 温俊海. 基于二维小波变换的SPECT图像重建算法研究[C]// 2007中国生物医学工程联合学术年会. 0.