计算傅里叶变换全息

                        计算傅里叶变化全息
原图(秦时明月-卫庄)
离散图(512*512)
计算全息图
再现图
实现程序
%用imread () 函数读入物波函数抽样数据并保存到矩阵A中,这样原始物体就以离散数据形式保存在一个二值矩阵中(矩阵中每个元素非0即1)
Image=imread('zcy6202.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(I,J)=ImageNum/255;
        B(I,J)=0;
    end
end
figure;
imshow(A);
%为降低全息图的动态范围,通过乘随机相位因子的办法来平滑物函数的傅里叶变换谱(起到光学全息中毛玻璃漫射光的作用)
PI=3.14159;
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);
圆珠笔尖      Max=max(max(abs(F)));
      F=F/Max;
      A=real(F);
      B=imag(F);
%定义载波参数
alpha=0.5;
for I=1:1:N
    for J=1:1:N
        Xcos=(J-1)/127;
        A1(I,J)=cos(2*PI*alpha*Xcos);
        B1(I,J)=sin(2*PI*alpha*Xcos);
    end
end
%全息图数据区
for I=1:1:N
防辐射屏
    for J=1:1:N
Holodata(I,J)=0.5+0.5*(A(I,J)*A1(I,J)+B(I,J)*B1(I,J));
    end
end
%绘制全息图,制作灰阶全息图像,灰度等级256
饮用水过滤器
M=512;%定义全息图的大小,
Hologram=zeros(M,M);
maxstepS=M/N;%定义每个抽样单元大小为S,S
for I=1:1:N
    for J=1:1:N
        Xa=(J-1)*S+1;
        Xb=J*S;
        Ya=(I-1)*S+1;
        Yb=I*S;
        for Ix=Xa:1:Xb 中央空调通风管道
            for Iy=Ya:1:Yb
                Hologram(Iy,Ix)=Holodata(I,J);
            end
        end
    end
end
Max=max(max(Hologram));
Hologram=Hologram/Max;
figure;
imshow(Hologram);
%计算傅里叶变换全息的再现
Object=fft2(Hologram);
Object=fftshift(Object);
Object=abs(Object);
Object=1000*Object/max(max(Object));
figure;
imshow(Object);

本文发布于:2024-09-23 10:25:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/323972.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:全息图   全息   数据   变换
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议