MATLAB光场建模与衍射仿真:从复振幅到全息图的工程实践
简介本资源为信息光学课程配套的MATLAB编程实践压缩包面向光学、光电、物理及工科高年级本科生与研究生聚焦傅里叶光学、衍射建模与GUI交互式光学仿真等核心教学内容。压缩包共含多个.m主程序文件及可能的GUI界面脚本如figcallback结构涵盖二维快速傅里叶变换fft2频谱分析、菲涅尔/夫琅禾费衍射数值模拟、光学图像处理与参数可视化等功能助力理论理解与工程实现能力同步提升。资源大小22.71MB文件总数未披露但主体为可直接运行的MATLAB源码无需额外依赖库适合作为课程作业参考、实验复现或自主拓展学习。目前已有194人学习下载提供完整可执行逻辑链从光场建模→频域分析→界面交互→结果呈现代码注释充分、模块划分清晰便于逐层理解光学算法原理与MATLAB工程化表达方式。1. 信息光学作业.zip不是压缩包是光场建模与衍射仿真的MATLAB实战沙盒你手头这个标着“信息光学作业.zip”的压缩包大概率不是某门课的PDF答案集而是一套可直接运行、带完整注释的MATLAB光学仿真工程——它能让你在5分钟内复现菲涅尔衍射、夫琅禾费衍射、全息图生成、空间滤波器设计甚至用纯数值方法“拍”出一张虚拟全息图。这不是教科书里的公式推演而是把傅里叶光学、线性系统理论、复振幅传播这些抽象概念全部落地成.m文件里可调试、可修改、可可视化的一行行代码。适合正在啃《信息光学》教材却卡在“怎么把课本公式变成图”的本科生也适合需要快速验证光学系统响应、又不想从零搭COMSOL或Zemax的工程师。它不依赖硬件不调用商业光学库所有核心算法都基于MATLAB原生函数fft2、ifft2、meshgrid、exp(1j*...)意味着你改一个参数就能看到光场如何扭曲、聚焦、干涉——这才是信息光学该有的手感。2. 光场建模基础从复振幅定义到采样定理的硬约束信息光学的本质是把光看作一个二维复函数$ U(x,y) A(x,y)e^{j\phi(x,y)} $。这个复振幅承载了光强$|U|^2$和相位$\arg(U)$两个关键信息。而“信息光学作业.zip”里所有脚本的起点就是对这个复振幅的精确离散化表达。别跳过这一步——很多人的仿真结果发虚、出现伪影、衍射环错位根源都在这里。2.1 空间域建模网格尺寸与物理尺度的绑定逻辑打开gen_aperture.m或create_object_plane.m你会看到类似这样的初始化段lambda 632.8e-9; % 波长nm → m z 0.5; % 传播距离米 N 512; % 图像尺寸正方形 dx 10e-6; % 像素物理尺寸米即采样间隔 x dx * (-N/2 : N/2-1); y x; [X, Y] meshgrid(x, y);注意dx不是随便设的它必须满足奈奎斯特采样定理对衍射场的约束。若你想观察距离z处的衍射图样最大可观测空间频率为 $ f_{\max} \frac{1}{\lambda z} \cdot \frac{D}{2} $D为孔径直径。对应到采样率要求dx lambda * z / D。实践中我一般取dx ≈ lambda * z / (2*D)作为安全余量。比如D1mm,z0.5m,lambda633nm则dx应小于约 15.8 μm —— 所以示例中10e-6是合理选择。若你盲目改成1e-31mm那整个衍射图就是一堆马赛克毫无物理意义。2.2 频谱域建模FFT归一化与物理量纲的还原所有衍射计算最终都绕不开fft2和ifft2。但MATLAB的FFT默认不带物理量纲缩放直接U_f fft2(U)得到的是无量纲频谱无法对应真实空间频率单位1/m。必须手动补上归一化因子% 正向变换空域 → 频域需归一化以保持能量守恒 U_f fftshift(fft2(ifftshift(U))) * dx^2; % 反向变换频域 → 空域同样需归一化 U_rec ifftshift(ifft2(fftshift(U_f))) / dx^2;为什么是dx^2因为连续傅里叶变换定义为 $ \mathcal{F}{U(x,y)} \iint U(x,y) e^{-j2\pi(f_x x f_y y)} dx dy $离散化后dx dy就是积分步长。漏掉它你的衍射强度会随分辨率变化剧烈漂移——比如N256时强度是100N1024时突然变成1.6这就是没归一化的典型翻车现场。2.3 衍射核构造菲涅尔近似 vs 夫琅禾费近似的切换开关propagate_fresnel.m和propagate_fraunhofer.m是两个核心传播函数。它们的区别不在算法复杂度而在物理适用条件夫琅禾费衍射适用于z D²/λ远场此时传播核简化为纯相位二次项等价于对孔径场做一次FFT。代码极简H_fraunhofer exp(-1j * pi / (lambda * z) * (FX.^2 FY.^2)); U_out ifft2(fft2(U_in) .* H_fraunhofer);菲涅尔衍射适用于中间距离传播核含三次项实际常省略核心是二次相位调制H_fresnel exp(1j * k * z) .* exp(1j * k / (2*z) * (X.^2 Y.^2)); U_out ifft2(fft2(U_in .* exp(1j * k / (2*z) * (X.^2 Y.^2))) .* H_fresnel);关键参数k 2*pi/lambda必须用国际单位m⁻¹否则相位爆炸。我见过太多人用632.8直接代入结果exp(1j*k*z)的指数部分动辄1e8cos/sin完全失真。务必确认所有长度单位统一为米。3. 全息图生成实战从物光参考光干涉到数字再现“信息光学作业.zip”里最惊艳的部分是generate_hologram.m—— 它不调用任何工具箱仅用基础MATLAB就完成离轴全息图的端到端生成与再现。这不是图像叠加而是严格遵循 $ I(x,y) |U_o U_r|^2 |U_o|^2 |U_r|^2 U_o U_r^* U_o^* U_r $ 的干涉原理。3.1 物光场构建多目标叠加与相位编码物光场U_object并非单个点源。脚本中通常这样构造% 创建三个不同位置、不同相位的点源模拟三维物体 U1 point_source(X, Y, 0.1e-3, 0.15e-3, lambda, z_obj); % (x0,y0) U2 point_source(X, Y, -0.05e-3, 0.2e-3, lambda, z_obj) .* exp(1j*pi/3); U3 point_source(X, Y, 0.12e-3, -0.08e-3, lambda, z_obj) .* exp(1j*pi/2); U_object U1 U2 U3;point_source函数内部实现的是球面波U (1./R) .* exp(1j*k*R)其中R sqrt((X-x0).^2 (Y-y0).^2 z_obj^2)。注意z_obj是物距非传播距离它决定球面波曲率——这是实现“三维感”的关键。若全设为同一z_obj再现图就是扁平的故意拉开z_obj差值如 0.1m / 0.15m / 0.2m再现时不同深度的像会出现在不同焦平面。3.2 参考光设计离轴角与载频控制离轴全息的核心是让参考光与物光成夹角θ在频域中将孪生像、零级像、物像分离开。脚本中参考光常设为倾斜平面波theta_x 0.02; % 弧度约1.15度 theta_y 0.01; U_ref exp(1j * k * (sin(theta_x)*X sin(theta_y)*Y)); % 近似 sinθ≈θ载频位置计算该参考光在频域的峰值位于(fx, fy) (sin(theta_x)/lambda, sin(theta_y)/lambda)。以lambda633nm、theta_x0.02计fx ≈ 31600 1/m。对应FFT后的像素索引为idx_x round(fx * dx * N) N/2。若你的N512,dx10e-6则idx_x ≈ 372—— 这就是你后续用fftshift后应在右上象限看到的亮斑位置。如果没看到要么theta太小载频淹没在零级要么dx太大频域分辨率不足。3.3 干涉图生成与数字再现流程全息图H是干涉强度图但数字再现时不能直接fft2(H)—— 因为H是实数其频谱含共轭对称直接FFT会混叠。标准做法是先转为复全息图记录相位信息再滤波% 1. 生成实干涉图可保存为uint16图像 H_real real(U_object U_ref) .^ 2 imag(U_object U_ref) .^ 2; H_real mat2gray(H_real); % 归一化到[0,1] % 2. 数字再现提取1级衍射物像 H_complex ifft2(fft2(H_real) .* filter_mask); % filter_mask是手动画的圆盘 U_recon ifft2(fft2(H_complex) .* exp(1j * k * z_rec / (2*f) * (FX.^2 FY.^2)));filter_mask通常是一个半径R_mask的圆形区域中心对准1级载频点。R_mask要足够大以包住整个物频谱又不能太大以免引入噪声。经验值R_mask ≈ 0.3 * NN为图像边长。这是全息再现成败的玄学边界——太小切掉高频细节边缘模糊太大带进零级杂光背景发灰。4. 空间滤波与频谱操控阿贝成像原理的MATLAB验证“信息光学作业.zip”里spatial_filtering.m是理解阿贝成像理论最直观的入口。它不讲“频谱面放小孔”而是让你亲手在频域删掉某些频率分量再看空域图像如何坍缩——这才是真正的所见即所得。4.1 频谱面定位与可视化为什么你总找不到正确的频谱图新手常犯的错误对原始图像I直接fft2(I)就以为得到频谱。错正确流程必须包含三步I_centered imsubtract(I, mean2(I)); % 去直流否则零频炸屏 I_fft fftshift(fft2(ifftshift(I_centered))); % 标准化FFT流 I_spectrum log(1 abs(I_fft)); % 对数压缩否则看不清为什么必须ifftshift再fft2因为MATLAB的fft2默认把(1,1)当作原点但图像坐标系原点在左上角而物理频谱原点在中心。ifftshift把图像中心移到(1,1)fft2后再fftshift把频谱中心移回图像中心。漏掉任一环节频谱图就是旋转/错位的。我曾为这一步调试两小时最后发现只是少了一个ifftshift。4.2 滤波器设计低通/高通/带通的MATLAB实现脚本中提供三种模板% 低通保留中心圆盘 LPF (FX.^2 FY.^2) (0.1*N)^2; % 高通切除中心 HPF (FX.^2 FY.^2) (0.05*N)^2; % 方向滤波提取45度线条扇形掩模 theta atan2(FY, FX); bandpass_45 (abs(theta - pi/4) 0.1) | (abs(theta 3*pi/4) 0.1);FX,FY由freqspace(N,meshgrid)生成单位是“归一化频率”-0.5 ~ 0.5。所以0.1*N表示半径为图像宽度10%的圆——这是经验安全值。若设为0.5*N等于没滤波若设为0.01*N只剩一个白点。4.3 阿贝实验复现从光栅到莫尔条纹的逐级崩塌最硬核的验证是用grating_generator.m生成正弦光栅周期p50px然后做三级滤波滤波类型保留频谱成分空域结果特征物理含义无滤波全频谱清晰正弦条纹完整物信息单点滤波只留0级仅(0,0)均匀灰度仅直流分量丢失所有结构三点滤波0级±1级(0,0), (±1,0)条纹变粗、对比度下降仅保留基频高次谐波被削运行时你会亲眼看到当滤掉±1级条纹立刻从锐利变模糊当只留0级整张图坍缩为一片死灰。这不是理论推导是你键盘敲出来的阿贝成像铁证。5. 避坑指南那些让信息光学作业跑不通的5个致命细节信息光学仿真的脆弱性远超一般信号处理——微小的单位错、符号错、归一化漏都会导致结果完全失真。以下是我在帮A同学调试时踩过的血泪坑按出现频率排序5.1 现象衍射图样严重偏心主极大不在图像中心原因孔径函数U_aperture的定义未居中。例如用U zeros(N); U(1:100,1:100)1;创建方孔其几何中心在(50,50)但FFT要求物理中心在(N/2,N/2)。解决所有孔径必须用meshgrid构造并显式偏移x dx*(-N/2:N/2-1); [X,Y] meshgrid(x,x); U_ap (abs(X) 0.5e-3) (abs(Y) 0.5e-3); % 中心在(0,0)5.2 现象全息再现图一片漆黑或只有中心一个亮点原因U_object和U_ref的振幅量级差异过大如U_ref是U_object的1000倍导致干涉项 $U_o U_r^*$ 被淹没。解决在干涉前强制归一化U_object U_object / max(abs(U_object(:))); U_ref U_ref / max(abs(U_ref(:))); H abs(U_object U_ref).^2;5.3 现象菲涅尔传播后出现诡异环状伪影且随z增大而加剧原因传播距离z与dx不匹配违反采样定理。当z很大时球面波曲率小但dx过大会导致空间频率混叠。解决动态调整dx或N。保守策略是固定N1024按z增大而增大dx降低分辨率保物理正确dx 5e-6 * (1 z/0.5); % z每增0.5mdx增5μm5.4 现象空间滤波后图像出现明显棋盘格噪声原因滤波器掩模filter_mask是二值图0/1在频域造成陡峭截断等效于空域卷积一个sinc函数引发吉布斯现象。解决改用软阈值或高斯窗% 替代硬截断 sigma 0.02 * N; LPF_soft exp(-(FX.^2 FY.^2)/(2*sigma^2));5.5 现象fft2结果全是Inf或NaN原因复振幅中存在1/0或exp(1j*Inf)。常见于点源模型1./R中R0即(x0,y0)落在某个像素上。解决给R加一个小量避免除零R sqrt((X-x0).^2 (Y-y0).^2 z_obj^2) eps(single);6. 进阶技巧用相位恢复反演物体三维形貌“信息光学作业.zip”里最被低估的功能是phase_retrieval.m—— 它实现了Gerchberg-SaxtonGS算法仅凭一幅衍射强度图即|U_out|^2就能迭代反演出丢失的相位信息arg(U_in)。这不仅是作业需求更是数字全息显微、无透镜成像的底层引擎。6.1 GS算法核心循环四步迭代的物理意义GS算法本质是在空域已知强度|U_in|^2和频域已知强度|U_out|^2之间来回投影。脚本中的主循环如下U sqrt(I_in) .* exp(1j*rand(size(I_in))); % 初始化随机相位 for iter 1:100 % 步骤1空域约束——保持振幅随机相位→已知振幅当前相位 U sqrt(I_in) .* exp(1j*angle(U)); % 步骤2传播到频域FFT U_f fftshift(fft2(ifftshift(U))); % 步骤3频域约束——保持振幅替换为已知衍射强度 U_f sqrt(I_out) .* exp(1j*angle(U_f)); % 步骤4反向传播回空域IFFT U ifftshift(ifft2(fftshift(U_f))); end关键洞察步骤1的sqrt(I_in)是物面强度如透射光阑的明暗分布步骤3的sqrt(I_out)是你实测/仿真的衍射图强度。算法不关心相位只用强度约束“逼出”唯一解。收敛标志是mean(abs(angle(U)-angle(U_prev))) 1e-3。6.2 收敛性优化为什么你的GS算法永远不收敛GS算法 notorious 地慢且易陷局部极小。脚本中预置了三个加速技巧技巧实现方式效果混合输入输出每次迭代用0.8*U_new 0.2*U_old更新抑制振荡提升稳定性空域支持域约束在U sqrt(I_in) .* exp(1j*angle(U))前先U(~support_mask) 0排除无关区域加速收敛多起始点并行同时跑5个不同随机初相取最终误差最小者避免陷入差解support_mask是物面非零区域的二值图必须手动提供如support_mask I_in 0.1*max(I_in(:))。没有它算法会在背景噪声上浪费大量迭代。6.3 三维形貌重建从相位到高度的标定链GS算法输出的是物面复振幅U_in A_in * exp(j*phi_in)。若物体是反射式如微机电结构phi_in直接正比于表面高度h$$ \phi_{in}(x,y) \frac{4\pi}{\lambda} h(x,y) $$因此高度图可直接计算h (lambda / (4*pi)) * unwrap(angle(U_in)); % unwrap消除2π跳变 surf(X*1e3, Y*1e3, h*1e6); % 单位mm × mm × μm标定陷阱unwrap必须沿正确方向通常是dim1行方向。若angle(U_in)有陡峭斜坡unwrap可能误判跳变点。我的习惯是先imshow(angle(U_in))查看相位图若发现大面积“条纹断裂”就在unwrap前加smooth3(angle(U_in),gaussian, [3 3 1])预平滑。从那以后我每次做相位恢复都强制先imshow检查原始相位图再决定是否平滑——这步省不得否则重建高度全是台阶状伪影。希望帮到你本文还有配套的精品资源点击获取

相关新闻

Nexus制品仓库管理实战:从创建仓库到上传文件的完整指南

Nexus制品仓库管理实战:从创建仓库到上传文件的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 2:12:49 阅读更多 →
Python图像修复GUI工程:FMM与NS算法集成方案

Python图像修复GUI工程:FMM与NS算法集成方案

简介:这是一份面向Python初学者与计算机视觉爱好者的图像修复GUI实践项目,聚焦于交互式图像修复技术落地,帮助用户理解FMM(快速行进法)与NS(Navier-Stokes)两类经典修复算法的原理与应用差异。资…

2026/10/16 2:12:49 阅读更多 →
MCreator 实体变量类型详解:Logic、Number/Integer、String 的选择与底层实现

MCreator 实体变量类型详解:Logic、Number/Integer、String 的选择与底层实现

低代码代码生成桌面应用游戏开发 【免费下载链接】MCreator MCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs using an intuitive easy-to-learn interface or with an in…

2026/10/16 2:12:49 阅读更多 →

最新新闻

换手机前,用留痕把微信聊天记录导出永久保存

换手机前,用留痕把微信聊天记录导出永久保存

换手机前,用留痕把微信聊天记录导出永久保存 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …

2026/10/16 3:00:59 阅读更多 →
深入解析 FirebaseRemoteConfigObject:Firebase Remote Config 配置键值对类型的定义、流转与取值

深入解析 FirebaseRemoteConfigObject:Firebase Remote Config 配置键值对类型的定义、流转与取值

开发工具后端 【免费下载链接】firebase-js-sdk Firebase Javascript SDK 项目地址: https://gitcode.com/gh_mirrors/fi/firebase-js-sdk 点击查看 免费下载 FirebaseRemoteConfigObject 是 Firebase JavaScript SDK(packages/remote-config&#xff0…

2026/10/16 3:00:58 阅读更多 →
TheBigPromptLibrary 解析:Transcribir-IA「图片转文字」GPT 的自定义指令设计与 Word 导出工作流

TheBigPromptLibrary 解析:Transcribir-IA「图片转文字」GPT 的自定义指令设计与 Word 导出工作流

提示工程AI 安全治理 【免费下载链接】TheBigPromptLibrary A collection of prompts, system prompts and LLM instructions 项目地址: https://gitcode.com/gh_mirrors/th/TheBigPromptLibrary 点击查看 免费下载 本文基于 CustomInstructions/ChatGPT/ZhopydXFw…

2026/10/16 3:00:58 阅读更多 →
蓝鲸配置平台 bk-cmdb v3.11.4 版本变更解析:38 项修复与改进的源码级导读

蓝鲸配置平台 bk-cmdb v3.11.4 版本变更解析:38 项修复与改进的源码级导读

后端企业应用运维 【免费下载链接】bk-cmdb 蓝鲸智云配置平台(BlueKing CMDB) 项目地址: https://gitcode.com/gh_mirrors/bk/bk-cmdb 点击查看 免费下载 导读:本文以蓝鲸智云配置平台(bk-cmdb)官方用户变更日志 v3.11.4_2024-10…

2026/10/16 3:00:58 阅读更多 →
@googleapis/merchantapi 版本演进全解析:从 CHANGELOG 读懂破坏性变更与升级路径

@googleapis/merchantapi 版本演进全解析:从 CHANGELOG 读懂破坏性变更与升级路径

后端 【免费下载链接】google-api-nodejs-client Googles officially supported Node.js client library for accessing Google APIs. Support for authorization and authentication with OAuth 2.0, API Keys and JWT (Service Tokens) is included. 项目地址: h…

2026/10/16 3:00:58 阅读更多 →
RK3506 裸机开发(四):Ubuntu 下烧写全流程与避坑指南

RK3506 裸机开发(四):Ubuntu 下烧写全流程与避坑指南

系列第四篇。前三篇我们只往内存里写代码;这一篇开始碰 Flash。 本文围绕 ATK-DLRK3506B Ubuntu,梳理 Rockchip 烧写模式、进入 MaskROM/Loader 的方法、upgrade_tool 常用命令,以及实际踩过的坑。摘要本文主要讲清楚四件事:Rock…

2026/10/16 2:59:58 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →