资源简介
针对simulation中单频四步相移图像IM0-3及IMR0-3图像们进行四步相移测量的程序
refphase1是对参考面的测量并接缠绕得到相位角
solvephase是对测量物体的测量并得到相位角后,进行处理回复面形
代码片段和文件信息
%基准平面的测量
IM0=imread(‘a.bmp‘);%IMR?.bmp为参考平面的图像
IM1=imread(‘b.bmp‘);
IM2=imread(‘c.bmp‘);
IM3=imread(‘d.bmp‘);
%{
IM0=imread(‘D:\chapter6\simulation\IMR0.bmp‘);%IMR?.bmp为参考平面的图像
IM1=imread(‘D:\chapter6\simulation\IMR1.bmp‘);
IM2=imread(‘D:\chapter6\simulation\IMR2.bmp‘);
IM3=imread(‘D:\chapter6\simulation\IMR3.bmp‘);
% IM0=imread(‘D:\chapter6\nn\new\test1\IMR0.bmp‘);%IMR?.bmp为参考平面的图像
% IM1=imread(‘D:\chapter6\nn\new\test1\IMR1.bmp‘);
% IM2=imread(‘D:\chapter6\nn\new\test1\IMR2.bmp‘);
% IM3=imread(‘D:\chapter6\nn\new\test1\IMR3.bmp‘);
IM0=imread(‘D:\chapter6\nn\new\test1\IM0.bmp‘);
IM1=imread(‘D:\chapter6\nn\new\test1\IM1.bmp‘);
IM2=imread(‘D:\chapter6\nn\new\test1\IM2.bmp‘);
IM3=imread(‘D:\chapter6\nn\new\test1\IM3.bmp‘);
%}
% I00=rgb2gray(IM0);%彩色图转变为灰度图
% I11=rgb2gray(IM1);
% I22=rgb2gray(IM2);
% I33=rgb2gray(IM3);
%
% I0=double(I00);%将灰度图的每个值转为double型便于运算
% I1=double(I11);
% I2=double(I22);
% I3=double(I33);
I0=double(IM0);
I1=double(IM1);
I2=double(IM2);
I3=double(IM3);
[mn]=size(I0);%每张图片大小为m列n行
phi(mn)=0; %相位
% h(mn)=0; %高度 %先设初始高度为0
% h1(mn)=0;
% l=310;
% p=8.75/2;
% d=7;
zero=0.0001; %防止出现除数为零
for x=1:m
%t=0;
for y=2:n
%phi(xy)=angle((I2(xy)-I0(xy))+(I3(xy)-I1(xy))*j);
phi(xy)=2*atan((I3(xy)-I1(xy))/(I0(xy)-I2(xy)+0.00001)); %四步相移法中的相位公式
% phi(xy)=2*atan((I3(xy)-I1(xy))/(I2(xy)-I0(xy)+0.00001)); %四步相移法中的相位公式
end
end
figure(1)
imshow(phi);
refphase=unwrap(phi);%If P is a matrix unwrap operates columnwise. 纵向解卷绕
figure(2)
imagesc(refphase);
% imagesc(phi);
figure(3)
plot(refphase(:200));
% for x=1:m
% t=0;
% for y=2:n
% phi(xy)=atan((I3(xy)-I1(xy))/(I0(xy)-I2(xy)+zero));
% if ((phi(xy)-phi(xy-1))<-2.6)%%%2.6从何而来?解相出来为什么还有不递增的情况?
% phi(xy)=phi(xy)+t*pi;
% t=t+1;
% end
% end
% end
% imshow(phi);%%%%%来自phi函数的算法。。。没理清楚。。。
评论
共有 条评论