📄 caisepmpmoni.m
字号:
clear all
close all
clc
[filename,pathname] = uigetfile('*.bmp','打开投影物体的图像文件...');
fName0 = strcat(pathname, filename);
ImagePMPObject = double(imread(fName0));
[filename1,pathname1] = uigetfile('*.bmp','打开投影参考平面的图像文件...');
fName01 = strcat(pathname1, filename1);
ImagePMPRefer = double(imread(fName01));
% x=imread('caijicos1.bmp');
% y=imread('Image000.bmp');
% x0=im2double(x);
% %image(x0)
% y0=im2double(y);
%figure;image(y0)
y0 = ImagePMPRefer;
x0 = ImagePMPObject;
x1 = x0(:,:,1);
[m,n] = size(x1);
ma = max(max(x1));
mi = min(min(x1));
for i = 1:m
for j = 1:n
x1(i,j) = ((x1(i,j)-mi)*255)/(ma-mi);
end
end
w = gausswin(9)*gausswin(3)';
x1 = imfilter(x1,w,'circular');
x2 = x0(:,:,2);
[m1,n1] = size(x2);
ma1 = max(max(x2));
mi1 = min(min(x2));
for i1 = 1:m1
for j1 = 1:n1
x2(i,j) = ((x2(i1,j1)-mi1)*255)/(ma1-mi1);
end
end
x2 = imfilter(x2,w,'circular');
x3 = x0(:,:,3);
[m2,n2] = size(x3);
ma2 = max(max(x3));
mi2 = min(min(x3));
for i2 = 1:m2
for j2 = 1:n2
x3(i2,j2) = ((x3(i2,j2)-mi2)*255)/(ma2-mi2);
end
end
x3 = imfilter(x3,w,'circular');
y1 = y0(:,:,1);
[m3,n3] = size(y1);
ma3 = max(max(y1));
mi3 = min(min(y1));
for i3 = 1:m3
for j3 = 1:n3
y1(i3,j3) = ((y1(i3,j3)-mi3)*255)/(ma3-mi3);
end
end
y1 = imfilter(y1,w,'circular');
y2 = y0(:,:,2);
[m4,n4] = size(y2);
ma4 = max(max(y2));
mi4 = min(min(y2));
for i4 = 1:m4
for j4 = 1:n4
y2(i4,j4) = ((y2(i4,j4)-mi4)*255)/(ma4-mi4);
end
end
y2 = imfilter(y2,w,'circular');
y3 = y0(:,:,3);
[m5,n5] = size(y3);
ma5 = max(max(y3));
mi5 = min(min(y3));
for i5 = 1:m5
for j5 = 1:n5
y3(i5,j5) = ((y3(i5,j5)-mi5)*255)/(ma5-mi5);
end
end
y3 = imfilter(y3,w,'circular');
%%
g01 = sqrt(3).*(y1-y2);
g02 = 2.*y3-(y1+y2);
g0 = atan2(g01,g02);
%%
[m,n] = size(g0);
mask=ones(size(g0));
phai0=zlf_dunwrap(g0,mask,[m/2,n/2-60]);
%%%%
g11 = sqrt(3).*(x1-x2);
g12 = 2.*x3-(x1+x2);
g1 = atan2(g11,g12);
%%%
[m,n] = size(g1);
mask=ones(size(g1));
phai1=zlf_dunwrap(g1,mask,[m/2,n/2-60]);
% g = g1 - g0;
% phai=unwrap(unwrap(g)')';
phai = phai1 - phai0;
% phai0=zlf_dunwrap(-g0,mask,[m/2,n/2]);
% phai1=zlf_dunwrap(-g1,mask,[m/2,n/2]);
% phai=phai1-phai0;
figure;mesh(phai)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -