使用matlab实现衍射受限成像系统1

题目1

根据你学过的衍射受限系统成像的计算方法,以自己的图像作为输入IinputI_{input}Iinput,模拟计算出经过衍射受限系统后的输出图像IimageI_{image}Iimage
衍射受限系统表达如下:
Iimage=Iinput⊗PSF I_{image} = I_{input} \otimes PSF Iimage=IinputPSF
解答该题或理解衍射受限系统需要明白两个知识点:

  • ⊗\otimes 表示什么运算;

  • PSF表示什么东西;

    ⊗\otimes 表示什么运算–>⊗\otimes 可以理解为卷积操作,即有一个卷积核并使用该卷积核处理输入图像后得输出图像
    PSF(point spread function),点扩散函数。描述了成像系统对点源或点对象的响应。–>将这个理解为和卷积核相似得矩阵即可

其matlab实现代码如下所示:
主函数main.m

% 2024.08.05
% StarsZong
% main函数

clear, clc;  
close all;  
  
img = imread("lenna.jpg"); 
img_gray = rgb2gray(img);  
 
%产生PSF掩模--> 这里使用圆孔夫琅禾费衍射的光强分布
lambda=500e-9;  % 表示的光的波长(红光)
r=5e-4;         % 孔的大小
z=2;            % 光源到孔的距离
k = 255;  
I = F(lambda, r, z, k);  
  
img_out = imfilter(double(img_gray), I);  
img_out1 = img_out ./ max(max(img_out));  
img_out1 = uint8(255 * img_out1);  
  
figure;  
imshow([img_gray, img_out1]);

PSF功能函数代码F.m(ps:函数名和文件名需要保持一致)

% 2024.08.05
% StarsZong
% 功能函数:用于产生圆孔弗朗禾费衍射光强的掩模
% input:光的波长lambda;小孔半径r;光源到孔的距离z;掩模版的大小k(仅为奇数)

function I = F(lambda, r, z, k)   
	N = 1e-2;  
	[x, y] = meshgrid(linspace(-N, N, k));  
	I_0 = ((pi * r.^2) / (lambda * z)).^2;  
	s = 2 * pi * r * sqrt(x.^2+y.^2) ./ (lambda * z);  
	I = 4 * I_0 * (besselj(1,s) ./ (s+eps)).^2;  
	A = max(max(I));  
	for i = 1: length(x)  
	    for j =  1: length(y)  
	        if I(i, j) == 0  
	            I(i, j) = A;  
	        end  
	    end  
	end  
	I = 255 * I ./ max(max(I));  
end

代码相关:

imread --> 读取图像
rgb2gray --> 将rgb彩色图转为灰度图
imfilter --> 将原图和卷积核输入,输出卷积操作后的图像
imshow --> 展示图象
meshfird --> 将一维数据关联为二维数据
besselj --> 贝塞尔函数

还有问题可在matlab内通过:"help 函数名" 进行函数查看

结果展示:
原图
在这里插入图片描述
PSF结果图
在这里插入图片描述
图像处理结果(左侧为原图灰度图,右侧为处理后图像)
在这里插入图片描述

注:
1,如果PSF现象不明显或图像处理结果不明显可尝试改变掩模版的大小(k)
2,该题仅要求使用PSF实现图像卷积处理,选择一种点扩散函数模型即可,如果有其他需求可自行更改点扩散函数(夫琅禾费矩孔衍射,夫琅禾费圆孔衍射,夫琅禾费正弦振幅光栅衍射,夫琅禾费正弦相位衍射,菲涅尔圆孔衍射,菲涅尔直边衍射)
3,本博客主要针对衍射受限系统成像,而非点扩散函数的原理,原理部分可自己翻阅《现代光学》课本进行学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值