基于傅里叶变换的相位提取算法---MATLAB实现
2018-02-02 17:20
1246 查看
%% ********************************************** % %% ********************************************** clear;close all;clc; N = 512; xmax = 1; ymax = 1; delta = [0,pi/3]; x = linspace(-xmax,xmax,N); y = linspace(-ymax,ymax,N); [X,Y] = meshgrid(x,y); %参数设置,背景光强,调制幅度,物体相位 A = 0.2*exp(-1.8*(X.^2+Y.^2)); B = 0.2*exp(-0.2*(X.^2+Y.^2)); phi = pi*5*(X.^2 + Y.^2); %模拟相位 figure;mesh(phi); phi_w = mod(phi,2*pi); figure;imshow(phi_w,[]); %模拟包裹相位 M = 2; I = zeros(N,N,M); %高通滤波去除背景光强 for k = 1:M I(:,:,k) = A + B.*cos(phi+delta(k)) + 0.05*rand(N,N); [NR, NC]=size(I(:,:,1)); [u,v]=meshgrid(1:NC, 1:NR); %Temporal variables u0=floor(NC/2)+1; v0=floor(NR/2)+1; u=u-u0; v=v-v0; %High pass Fourier filtering by Gaussian filter with sigma=freq freq = 3; H=1-exp(-(u.^2+v.^2)/(2*(freq)^2)); C=fft2(I(:,:,k)); CH=C.*ifftshift(H); I(:,:,k)=real(ifft2(CH)); end phi_cor = kreisDemod(I(:,:,1),I(:,:,2)); figure;imshow(phi_cor,[]); %显示提取出的相位
其中kreisDemo函数下载地址为:点击打开链接
相关文章推荐
- 基于光流法相位提取算法---MATLAB实现
- 干涉极值相位提取算法(EVI)----MATLAB实现
- 施密特正交化(GS)相位提取算法-----MATLAB实现
- 内积之比法相位提取算法(RIP)---MATLAB实现
- 2维FFT算法实现——基于GPU的基2快速二维傅里叶变换
- 针对新闻标签提取的tf-idf优化算法1.0版本——基于jieba分词实现
- 基于MATLAB的BP神经网络的算法实现
- 基于DS18B20的CRC算法研究,及matlab实现
- 基于ORB特征提取算法图像匹配 python实现
- 图像去模糊算法在CUDA上的实现,基于MATLAB平台
- 基于MATLAB的腐蚀膨胀算法实现
- 基于MATLAB的djikstra算法实现
- 基于Retinex的图像去雾算法(MATLAB实现)
- 基于Retinex的图像去雾算法(MATLAB实现)
- 基于肤色和眼睛定位的人脸检测算法——MATLAB实现
- 基于硬件的ORB特征提取与实现(第一部分)——特征点算法仔细分析
- 基于HSV色彩空间变换的阴影检测算法——MATLAB实现
- 基于块的全搜索运动估计算法实现matlab代码
- 高级迭代法(AIA)和通用相位提取(GPSA)算法对比-----MATLAB
- 基于经典分割算法的图像内细胞识别与计数(matlab实现)(不定期更新完善)