数字全息图像matlab程序



N=512; A=zeros(N,N); B=zeros(N,N); for I=1:1:256 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.1415926; for I=1:1:N for J=1:1:N R=rand(1,1);%生成一个元素在0,1之间均匀分布的随机矩阵R 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%限制振幅的动态范围,提高编码的精度 F=fft2(F);%作二维快速傅里叶变换FFT Max=max(max(abs(F))); F=F/Max; A=real(F); B=imag(F); aIpha=0.5;%定义载波参数aIpha for I=1:1:N for J=1:1:N Xcos=(J-1)/127; A1(I,J)=cos(2*pi*aIpha*Xcos); B1(I,J)=sin(2*pi*aIpha*Xcos); end end%全息图数据区 for I=1:1:N for J=1:1:N HoIodata(I,J)=0.5+0.5*(A(I,J)*A1(I,J)+B(I,J)*B1(I,J)); end End M=512;N=512;%定义全息图的大小 Hologram=zeros(M,M); S=M/N;%定义每个抽样单元大小 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 HoIogram(Iy,Ix)=HoIodata(I,J); end end end end Max=max(max(HoIogram)); HoIogram=HoIogram/Max; figure; imshow(HoIogram); %以下是用matlab分别计算函数各抽样点的傅里叶变换谱的幅角与模,并对各点的模归一化 object=fft2(HoIogram); object=fftshift(object);%用matlab中的移谱函数fftshift( )将频谱的低频成分移到中心,以避免再现时像分散在边缘 object=abs(object); object=1000*object/max(max(object)); figure; imshow(object);
















- 1

- qq_344003632019-03-23程序很全面

- 粉丝: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 电子商务环境下基于ISO27001的企业信息安全管理体系研究.doc
- 2022年WebGIS课程期末考试复习资料.docx
- 项目管理的几点个人体会.docx
- 网络对青少年学生身心健康成长的影响及对策研究样本.doc
- 基于的模拟电子钟单片机课程设计.docx
- (源码)基于Spring Boot和Vue的贪吃蛇对战平台.zip
- 软件系统运维手册.docx
- 如何构建网络环境下的计算机信息安全体系.doc
- 国家开放大学电大《网络营销与策划》机考第二套标准试题及答案.docx
- 计算机图形学实验指导书.doc
- 银行网络安全建设方案书样本.doc
- 巧用Excel确定内含报酬率.doc
- 歌唱比赛评分系统设计(C语言完整版).doc
- 基于网络平台的教育管理流程简介.ppt
- (源码)基于Arduino的LXARDOSCOPE示波器软件.zip
- 健康网络专题知识讲座.pptx


