光学成像系统的模型及MATLAB仿真

光学成像系统的模型及MATLAB仿真
光学成像系统的模型及MATLAB仿真
本⽂将给出相⼲成像系统、⾮相⼲成像系统模型,以及像差对成像系统影响的模型,模型和相关概念主要参考goodman的《傅⾥叶光学》。
⼀、相⼲成像系统
相⼲成像系统对于振幅来说是线性空间不变系统,存在关系:
其中h(x,y)为点扩展函数,放⼤倍数M=-di/dg,点扩展函数表达式为:
对应的相⼲光学传递函数(CTF)为:
⼀般不考虑⽐例尺,以及光瞳⼀般为中⼼对称,所以将CTF表⽰为:
⼆、⾮相⼲成像系统
⾮相⼲成像系统对于强度的传播是线性空不变的,所以存在
由傅⾥叶定理可知,像强度的频谱等于物强度频谱与传递函数乘积:
因为⼈眼或者仪器对图像的视觉效果取决于像所携带信息与直流背景的相对⽐值,所以利⽤零频分量对频谱归⼀化:
所以经代⼊化简得到光学传递函数(OTF)为:库伦效率
频谱是复数,可将OTF表⽰为:
东北风摄影它的模称为调制传递函数(MTF),幅⾓称为位相传递函数。
OTF的计算
如果P(x,y)只取值0和1,那么OTF可理解为
计算OTF的实例
该传递函数会使得⾼频分量的对⽐度降低,可进⾏相应的MATLAB仿真。对⼏个参数进⾏初始化,
lamda = 500e-9;
R = 10e-2;
di = 50e-2;
p0 = 2*R/lamda/di  %截⽌频率
fX = linspace(-10e5,10e5,2000);
fY = linspace(-10e5,10e5,2000);
[fx,fy] = meshgrid(fX,fY);
可以绘制出圆孔的OTF为:
dsp技术
图1 圆孔的光学传递函数
利⽤这种光学传递函数模拟物体图像经过成像系统之后的成像情况。
设置OTF的截⽌频率为原图的最⼤频率的⼀半,得到如下结果:
三、像差对系统的影响
像差引起了波⾯的变形(产⽣波像差),所以像差的存在可表⽰为在光瞳函数上增加⼀位相偏差:
聚焦误差是的OTF
若光瞳是矩形,此时OTF为:
不同的W_M对OTF有不同的影响:
当任何⼀种像差严重时,可以把⼏何光学对该系统预⾔的强度点扩展函数(复振幅传播到对应的像⾯,再求强度即可)做傅⾥叶变换以得到OTF的良好近似。
四、对超分辨率的理解
追风伞
⼀般将瑞利判据所确定的分辨距离当做是成像系统的最⼩分辨距离(最⼤分辨率)。这⾥的分辨距离是指在成像仪器底⽚上的分辨距离,所以⼀般要保证像元尺⼨⼩于δ/2才能完整保存光学衍射产⽣的最⼩分辨,在此基础上,如果能够得到超越这⼀分辨率的实际图像(获得截⽌频率以外的值),那么这个过程就实现了超分辨。
因为空间中的物是有界的,在没有噪声时,在原则上是能够分辨出物的⽆穷⼩细节的。它具有相关的数学基础:
定理1 ⼀个空间有界函数的⼆维傅⾥叶变换是(f_x,f_y)平⾯上的解析函数。
定理2 (f_x,f_y)平⾯上⼀个任意的解析函数,若在此平⾯上的⼀个任意⼩(但有限)的区域内精确知道这个函数的值,那么整个函数可通过解析延拓⼿段唯⼀地定出。
因此实际拍摄到的图⽚并⾮没有包含截⽌频率以外的信息,它的⾟格函数的延伸包含在通带内(信号较弱),因此是有可能复原出通带之外的频谱的。
实现超分辨的⽅法包括基于频率域中的抽样定理的⽅法;基于长椭球波函数展开式的⽅法;以及⼀种适合与数字设备的迭代⽅法(与GS算法类似),它逐次加强空域和频域中的约束。
附录: OTF的仿真程序
乙酰胆碱受体成像中的图⽚可以⾃⼰⼀幅图,记得变换为灰度图像,circ是圆域函数(见主程序后⾯)
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));
其中circ函数定义如下:
function z = circ(x, y, R)
% function z = circ(x, y, D)
r = sqrt(x.^2+y.^2);
z = double(r<R);
z(r==R) = 0.5;

本文发布于:2024-09-25 01:14:17,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/251205.html

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

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