clc,clear
close all
%initial
lamda = 500e-9; % 光波长
R = 10e-2; % 光瞳半径
di = 50e-2; % 像距
trans = 6.5e-6; %相机的像元大小
p0 = (R/di/lamda)*trans; %这是根据实验参数计算的截止频率
%read the image
I = imread('细胞.jpg');
figure(1),imshow(I);
I = double(I);
[Nx,Ny] = size(I);
p0 = max(fix([Nx,Ny]/2)); % 这里模拟截止频率为图像最大频率的1/2
fX = [0:fix(Nx/2),ceil(Nx/2)-1:-1:1];%linspace(-10e5,10e5,2000);
fY = [0:fix(Ny/2),ceil(Ny/2)-1:-1:1];%linspace(-10e5,10e5,2000);
[fx,fy] = meshgrid(fY,fX);
%OTF
p = sqrt(fx.^2+fy.^2);
f =@(fx,fy) 2/pi*(acos(p./p0)-p./p0.*sqrt(1-(p/p0).^2)).*circ(fx,fy,p0);
H0 = f(fx,fy);
mesh(fftshift(H0)) % 显示OTF三维曲面
%simulation
F_I = fft2(I); %物强度频谱
G0 = F_I(1,1);
R_I = F_I/G0; %归一化
R_i = R_I.*H0*G0;
i = ifft2(R_i);
figure(2),imshow(uint8(i));
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
光学成像的MATLAB仿真.zip (4个子文件)
光学成像的MATLAB仿真
main.m 716B
细胞.jpg 131KB
circ.m 112B
main1.m 865B
共 4 条
- 1
资源评论
- 色空空色2023-07-26这个文件对于光学成像的MATLAB仿真提供了一种很好的参考和思路,值得学习和借鉴。
- LauraKuang2023-07-26这个文件提供了很好的光学成像的MATLAB仿真实例,非常实用。
- 艾苛尔2023-07-26这个文件通过实例展示了光学成像的过程和效果,让人更直观地理解了相关概念。
- 坐在地心看宇宙2023-07-26这个文件的MATLAB仿真代码简洁明了,易于实现和调试。
- FloritaScarlett2023-07-26这个文件对光学成像的原理和算法进行了清晰的阐述,方便理解和学习。
山颠海涯
- 粉丝: 1133
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功