MATLAB中点扩散函数(PSF)的实现方案

news/2026/1/19 10:19:52/文章来源:https://www.cnblogs.com/y4353536666/p/19500389

一、PSF生成方法

1. 标准PSF生成

% 高斯PSF生成
gauss_psf = fspecial('gaussian', [7 7], 10); % 7x7高斯核,标准差10% 运动模糊PSF生成
motion_psf = fspecial('motion', 21, 45); % 长度21,角度45度% 点扩散函数可视化
figure;
subplot(121), imshow(gauss_psf, []), title('高斯PSF');
subplot(122), imshow(motion_psf, []), title('运动模糊PSF');

2. 自定义PSF生成

% 生成圆形光瞳PSF
N = 256; % 采样点数
[x,y] = meshgrid(-N/2:N/2-1);
r = sqrt(x.^2 + y.^2);
psf = double(r <= N/4); % 半径为N/4的圆形PSF
psf = psf / sum(psf(:)); % 归一化% 显示PSF
figure, imshow(psf, []), title('圆形光瞳PSF');

二、PSF应用示例

1. 图像模糊模拟

% 读取图像
img = imread('cameraman.tif');
img_gray = rgb2gray(img);% 添加高斯模糊
blurred_img = imfilter(img_gray, gauss_psf, 'conv', 'circular');% 添加噪声
noise_level = 0.01;
noisy_img = imnoise(blurred_img, 'gaussian', 0, noise_level^2);% 显示结果
figure;
subplot(131), imshow(img_gray), title('原始图像');
subplot(132), imshow(blurred_img, []), title('模糊图像');
subplot(133), imshow(noisy_img, []), title('含噪模糊图像');

2. 运动模糊模拟

% 参数设置
theta = 30; % 运动角度
length = 21; % 模糊长度% 生成运动PSF
motion_psf = fspecial('motion', length, theta);% 应用运动模糊
motion_blurred = imfilter(img_gray, motion_psf, 'conv', 'circular');% 显示结果
figure, imshowpair(img_gray, motion_blurred, 'montage');
title('运动模糊效果对比');

三、PSF估计与优化

1. 盲去卷积PSF估计

% 初始化参数
init_psf = ones(size(gauss_psf)); % 初始PSF估计
dampar = 0.1*std(noisy_img(:)); % 阻尼参数
weight = ones(size(noisy_img)); % 权重矩阵% 盲去卷积迭代
[restored_img, est_psf] = deconvblind(noisy_img, init_psf, 15, dampar, weight);% 显示结果
figure;
subplot(131), imshow(noisy_img), title('含噪模糊图像');
subplot(132), imshow(est_psf, []), title('估计PSF');
subplot(133), imshow(restored_img), title('恢复图像');

2. 维纳滤波去模糊

% 计算信噪比
snr = 10*log10(var(img_gray(:))/var(noisy_img(:)-img_gray(:)));% 维纳滤波恢复
wiener_restored = deconvwnr(noisy_img, gauss_psf, snr);% 显示结果
figure, imshowpair(noisy_img, wiener_restored, 'montage');
title('维纳滤波恢复效果');

四、高级PSF建模

1. 非各向同性3D PSF

function psf = nonIsotropicPSF(sigma_xyz)% 生成三维非各向同性高斯PSF[X,Y,Z] = ndgrid(linspace(-1,1,64));psf = exp(-(X.^2/(2*sigma_xyz(1)^2) + Y.^2/(2*sigma_xyz(2)^2) + ...Z.^2/(2*sigma_xyz(3)^2)));psf = psf / sum(psf(:));
end% 使用示例
sigma = [0.1, 0.2, 0.15];
psf_3d = nonIsotropicPSF(sigma);

2. 散射介质PSF模拟

function psf = generateScatteringPSF(N, p)% 生成散射介质PSFhadamard = 1;Nin = 2^hadamard;MyMap = 'hot';% 生成随机相位屏phase_screen = exp(1i*2*pi*rand(N,N,Nin));pupil = zeros(N,N);for j=1:Nfor k=1:Nif (j-0.5-N/2)^2 + (k-0.5-N/2)^2 <= (N/2)^2pupil(j,k) = 1;endendend% 计算散斑speckle = zeros(2^p*N, 2^p*N, Nin);for j=1:Ninspeckle(:,:,j) = fft2(padarray(bruit(:,:,j), [2^(p)*(N/2)-N/2, 2^(p)*(N/2)-N/2]));endPSF = intensity_speckle;
end

五、PSF性能验证

1. 艾里斑验证

% 理想艾里斑参数
lambda = 0.6328e-6; % 波长
f = 100e-3; % 焦距
D = 10e-3; % 孔径直径
v = (pi*D/lambda/f) * (1024/2); % 空间频率% 解析解计算
airy_disk = (2*besselj(1,v)./v).^2;% MATLAB数值仿真
pupil = double(imcircle(1024, 512)); % 创建圆形孔径
fft_pupil = fftshift(fft2(pupil));
simulated_airy = abs(fft_pupil).^2;
simulated_airy = simulated_airy / max(simulated_airy(:));% 对比分析
figure;
subplot(121), imshow(airy_disk, []), title('解析解艾里斑');
subplot(122), imshow(simulated_airy, []), title('数值仿真艾里斑');

2. PSNR/SSIM评估

% 恢复质量评估
original = imread('lena.png');
restored = deconvwnr(noisy_img, gauss_psf);psnr_value = psnr(restored, original);
ssim_value = ssim(restored, original);disp(['PSNR: ', num2str(psnr_value), ' dB']);
disp(['SSIM: ', num2str(ssim_value)]);

参考代码 matlab点扩散函数程序 www.youwenfan.com/contentcnq/63743.html

六、工程优化技巧

  1. PSF尺寸选择:PSF尺寸应至少为图像尺寸的1/10

  2. 噪声抑制:使用dampar参数控制噪声放大(建议值=0.1*噪声标准差)

  3. 边界处理:采用edgetaper函数减少边缘效应

    tapered_img = edgetaper(noisy_img, gauss_psf);
    
  4. 多通道处理:对彩色图像分通道处理

    for c = 1:3[restored(:,:,c), psf(:,:,c)] = deconvblind(noisy_img(:,:,c), init_psf);
    end
    

七、扩展应用

  1. 显微成像系统:结合Zernike多项式模拟像差

    zernike = zernike(4, 50); % 4阶球差
    aberrated_psf = applyZernike(psf, zernike);
    
  2. 深度学习辅助:训练PSF估计网络

    net = alexnet;
    net.Layers(end-2) = convolution2dLayer([3 3], 1, 'Padding', 'same');
    net = trainNetwork(data, labels, net);
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1182480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mem Reduct内存优化神器:彻底解决电脑卡顿问题

Mem Reduct内存优化神器&#xff1a;彻底解决电脑卡顿问题 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct 还在为电脑…

从手动查找到一键问答:一个Windows桌面AI助手的演进之路与“鹰眼模式”的终极交互设计

一、起点:我们为什么需要另一个“桌面助手”? 开发初期,我只是想解决自己的一个高频痛点:在写代码、看PDF、甚至答题时,经常需要复制一段文本 → 打开浏览器 → 打开AI对话页 → 粘贴 → 等待回复 → 再切回原窗口…

如何快速配置实时通知:B站抢票脚本的完整使用指南

如何快速配置实时通知&#xff1a;B站抢票脚本的完整使用指南 【免费下载链接】biliTickerBuy b站 会员购 抢票 漫展 脚本 bilibili 图形化 纯接口 验证码预演练习 项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy 你是否曾经因为错过B站会员购门票的开…

敏捷變形記:從效率革新到「準時下班」的異化之路

敏捷變形記&#xff1a;從效率革新到「準時下班」的異化之路引言&#xff1a;敏捷的黃金時代與其暗面2001年&#xff0c;《敏捷軟體開發宣言》的發表標誌著一場開發方法的革命。四條核心價值觀與十二條原則如同一道清流&#xff0c;衝擊著傳統瀑布式開發的僵化體制。二十年後&a…

OpenCore Legacy Patcher终极指南:让不支持的旧Mac焕发新生

OpenCore Legacy Patcher终极指南&#xff1a;让不支持的旧Mac焕发新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为手中的老款Mac无法升级到最新macOS系统而烦恼…

SGMICRO圣邦微 SGM8632XMS/TR MSOP-8 运算放大器

特性 轨到轨输入和输出 最大输出失调电压3.5mV .高增益带宽产品:6MHz .高斜率:3.7V/us .在2V步进下&#xff0c;达到0.1%的稳定时间:0.5微秒 过载恢复时间:0.9微秒 低噪声:1kHz时为13nV/Hz .供电电压范围:2V至5.5V输入电压范围:-0.1V至5.6V&#xff0c;Vs5.5V时低供电电流。 SG…

盐城市亭湖盐都大丰东台建湖区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育

经教育部教育考试院认证、全国雅思教学质量监测中心联合指导,参照《2024-2025中国大陆雅思成绩大数据报告》核心标准,结合盐城市亭湖区、盐都区、大丰区、东台市、建湖县6500份考生调研问卷、76家教育机构全维度实测…

ComfyUI API开发实战指南:解锁AI图像生成自动化的5个核心技巧

ComfyUI API开发实战指南&#xff1a;解锁AI图像生成自动化的5个核心技巧 【免费下载链接】ComfyUI 最强大且模块化的具有图形/节点界面的稳定扩散GUI。 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI 想要将ComfyUI的强大图像生成能力无缝集成到你的应用中…

面向目标检测的 Dual-ViT(TPAMI 2023):YOLOv5 实战与效率优化

文末含资料链接和视频讲解! 文章目录 前言 🚀 一、Dual-ViT技术深度解析 1.1 突破性设计:双路径架构 1.2 与经典注意力机制对比 🚀 二、YOLOv5集成全流程 2.1 环境准备(新增依赖) 2.2 代码修改详解 2.3 训练调优策略 🔥 三、火焰检测实战 3.1 数据准备 3.2 训练日志…

深入解析:缓存设计之探了又探

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

淮安市清江浦淮阴淮安洪泽涟水盱眙金湖区英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜推荐 - 老周说教育

经教育部教育考试院认证、全国雅思教学质量监测中心联合指导,参照《2024-2025中国大陆雅思成绩大数据报告》核心标准,结合淮安市清江浦区、淮阴区、淮安区、洪泽区、涟水县、盱眙县、金湖县7200份考生调研问卷、81家…

【Dify与Coze深度解析】AI应用开发平台对比指南

文章目录目录一、平台核心定位与背景Dify&#xff08;Define Modify&#xff09;Coze&#xff08;扣子&#xff09;二、核心功能深度对比三、技术架构特点Dify技术架构Coze技术架构四、适用场景与优势劣势分析Dify优势与适用场景Coze优势与适用场景五、选择建议&#xff1a;根…

如何快速配置DS4Windows:让PS手柄在PC上完美工作的完整教程

如何快速配置DS4Windows&#xff1a;让PS手柄在PC上完美工作的完整教程 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 如果你拥有PlayStation手柄却苦恼于PC游戏兼容性问题&#xff0c;D…

福州top10研究生留学机构盘点,性价比高服务全解析 - 留学机构评审官

福州top10研究生留学机构盘点,性价比高服务全解析一、如何为研究生留学选择福州本地的中介机构?在搜索引擎中,“福州研究生留学哪家机构靠谱”、“福州留学中介性价比如何”是准留学生及其家庭频繁提出的疑问。选择…

合肥top10研究生留学机构,录取案例多!了解其成功秘诀 - 留学机构评审官

合肥top10研究生留学机构,录取案例多!了解其成功秘诀一、合肥学子如何筛选可靠的研究生留学中介?在合肥,许多有志于攻读海外硕士学位的同学常常会询问:“本地有哪些录取案例丰富、值得信赖的留学机构?”作为一个…

【FastAPI 】技术深度解析与主流框架对比

文章目录目录一、FastAPI 核心定位与背景二、FastAPI 核心技术解析1. 强类型校验与数据建模&#xff08;基于 Pydantic&#xff09;2. 自动生成交互式 API 文档3. 原生异步支持&#xff08;高性能核心&#xff09;4. 丰富的开箱即用功能三、FastAPI 与主流 Python Web/API 框架…

Switch注入神器TegraRcmGUI:新手也能轻松掌握的完整操作指南

Switch注入神器TegraRcmGUI&#xff1a;新手也能轻松掌握的完整操作指南 【免费下载链接】TegraRcmGUI C GUI for TegraRcmSmash (Fuse Gele exploit for Nintendo Switch) 项目地址: https://gitcode.com/gh_mirrors/te/TegraRcmGUI 还在为Switch破解而烦恼吗&#xff…

汽车多总线数据采集:挑战、架构与同步策略全解析

多总线数据采集被简化为硬件连接?极端工况下同步精度不足、车规级可靠性不达标、数据难直接赋能算法迭代?速看本文如何深度贴合行业需求,系统拆解多总线(CAN/LIN/100BASE-T1等)数据采集方案的核心痛点、架构设计、…

重磅首发!OpenAI 280页《智能体 Agent 实战宝典》超全完整版PDF,吃透即封神

2025年被定义为Agent智能体元年&#xff0c;LLM驱动的智能体技术强势登顶技术风口&#xff0c;凭借自主处理复杂多步骤任务的超强能力&#xff0c;成为AI领域的核心赛道&#xff0c;但从零搭建高效、稳定、可落地的智能体&#xff0c;始终是困住无数开发者的核心难题。 OpenAI最…

【收藏级 | 知识分享】艺术与科技深度融合:前沿方向与期刊偏好

艺术与科技深度融合:前沿方向与期刊偏好 2025年艺术与科技融合进入“场景化落地”阶段,不再局限于技术应用,更强调“技术重构艺术表达、艺术赋予技术温度”,以下为前沿方向及投稿适配要点: 1. 三大前沿融合方向(…