📄 xy分别近似比较.m
字号:
%投影垂直和水平正弦条纹,分别沿每列每行查找最紧邻点,没解决对准问题
%用解线性方程的方法求条纹的背景和调治度
p=24;%条纹周期
q=24;%等效周期
i1=imread('D:\matlab\work\cy2\4-0.bmp');
i1=double(i1);
i2=imread('D:\matlab\work\cy2\4-1.bmp');
i2=double(i2);
i3=imread('D:\matlab\work\cy2\4-2.bmp');
i3=double(i3);
i4=imread('D:\matlab\work\cy2\4-3.bmp');
i4=double(i4);%读入测量图象
t1=atan2((i4-i2),(i1-i3));
t2=myunwrappro(t1,1,146,539);
t2(1,:)=t2(2,:);%消除边缘毛刺
[row,column]=size(i1);%提取图像大小,为处理方便
r1=imread('D:\matlab\work\cy2\i1.bmp');
r1=double(r1);
r2=imread('D:\matlab\work\cy2\i2.bmp');
r2=double(r2);
r3=imread('D:\matlab\work\cy2\i3.bmp');
r3=double(r3);
r4=imread('D:\matlab\work\cy2\i4.bmp');
r4=double(r4);
r1=atan2((r4-r2),(r1-r3));
r0=myunwrappro(r1,1,154,526);
r0=r0+t2(146,539)-r1(154,526);
clear i3;clear i4;clear t1;%清除不用数据,减少内存占用
clear r2;clear r3;clear r4;
x1=zeros(row,column);
x2=zeros(row,column);
for k1=1:row
for j1=1:column
b=abs(r0(k1,j1)-t2(k1,j1));
x2(k1,j1)=j1;
for j2=1:column
b=abs(r0(k1,j1)-t2(k1,j2));
x2(k1,j1)=j2;
if b<0.01
break;
end
end
end
end %建立行方向几何反转关系
%-----------------------------------------
for i=1:row
for j=1:column
a=[1 cos(t2(i,j));
1 -sin(t2(i,j))];
c=[i1(i,j); i2(i,j)];
x=a\c;
ri(i,j)=x(1,1);
ra(i,j)=x(2,1);
end
end
rax=medfilt2(ra,[5,5]);
rix=medfilt2(ri,[5,5]);
%-----------------------------------------
i1=imread('L:\cy\iy1.bmp');
i1=double(i1);
i2=imread('L:\cy\iy2.bmp');
i2=double(i2);
i3=imread('L:\cy\iy3.bmp');
i3=double(i3);
i4=imread('L:\cy\iy4.bmp');
i4=double(i4);%读入测量图象
t1=atan2((i4-i2),(i1-i3));
t2=myunwrappro(t1,1,146,539);
t2(:,1)=t2(:,2);%消除边缘毛刺
r1=imread('L:\cy\r1.bmp');
r1=double(r1);
r2=imread('L:\cy\r2.bmp');
r2=double(r2);
r3=imread('L:\cy\r3.bmp');
r3=double(r3);
r4=imread('L:\cy\r4.bmp');
r4=double(r4);
r1=atan2((r4-r2),(r1-r3));
r0=myunwrappro(r1,1,154,526);
r0=r0+t2(146,539)-r1(154,526);
clear i3;clear i4;clear t1;%清除不用数据,减少内存占用
clear r2;clear r3;clear r4;
for k1=1:row
for j1=1:column
b=abs(r0(k1,j1)-t2(k1,j1));
x1(k1,j1)=k1;
for k2=1:row
b=abs(r0(k1,j1)-t2(k2,j1));
x1(k1,j1)=k2;
if b<0.01
break;
end
end
end
end
%----------------------------
for i=1:row
for j=1:column
a=[1 cos(t2(i,j));
1 -sin(t2(i,j))];
c=[i1(i,j); i2(i,j)];
x=a\c;
ri(i,j)=x(1,1);
ra(i,j)=x(2,1);
end
end
ray=medfilt2(ra,[5,5]);
riy=medfilt2(ri,[5,5]);
%---------------------------
raa=rax+ray;
rii=rix+riy;
%---------------------------
x3=zeros(row,column);
for i=1:column
x3(:,i)=0.5*(1+cos(2*pi*i/p));
end
x4=zeros(row,column);
for k1=1:row
for j1=1:column
x4(k1,j1)=x3(x1(k1,j1),x2(k1,j1));
end
end
for k1=1:row
for j1=1:column
x5(k1,j1)=((128*x3(x1(k1,j1),x2(k1,j1)))--rii(x1(k1,j1),x2(k1,j1))+raa(x1(k1,j1),x2(k1,j1)))./(2*raa(x1(k1,j1),x2(k1,j1))+eps);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -