📄 kinoform1.m
字号:
%相息图的制作
%读入原始图象
PI=3.14159;
Image=imread('kino256.jpg');
N=512;
A=zeros(N,N);
B=zeros(N,N);
for I=1:1:256
for J=1:1:256
ImageNum=double(Image(I,J,1));
A(0+I,0+J)=1-ImageNum/255;
B(I,J)=0;
end;end;
figure;
imshow(A);
%为降低全息图的动态范围,乘一随机位相因子%
for I=1:1:N
for J=1:1:N
R=rand(1,1);
B(I,J)=A(I,J)*sin(R*2*PI);
A(I,J)=A(I,J)*cos(R*2*PI);
F(I,J)=A(I,J)+j*B(I,J);
end;end;
%为降低全息图的动态范围,乘一随机位相因子%
%对物函数做二维FFT变换%
F=fft2(F);
%F=fftshift(F);
A=angle(F);
for I=1:1:N
for J=1:1:N
A(I,J)=A(I,J)/(2*PI)+0.5;
end;end;
%对物函数做二维FFT变换%
%相息图的数据区
Kinoform=A;
figure;
imshow(Kinoform);
%相息图的数据区
%再现
%Kinoform=exp(j*Kinoform);
Object=fft2(Kinoform);
%Object=fftshift(Object);
Object=abs(Object);
Object=400*Object/max(max(Object));
figure;
imshow(Object);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -