MATLAB光学衍射模拟:衍射积分与傅里叶变换的双路径实现
简介一份基于MATLAB的光学衍射模拟学习文档面向物理专业学生、光学实验爱好者以及需要借助MATLAB进行科学计算与仿真的人员。文档以衍射积分与傅立叶变换两条技术路线为核心衍射积分部分从单缝出发逐步扩展到杨氏双缝干涉和黑白光栅衍射给出了逐点计算光强并绘图显示的完整程序傅立叶变换部分则通过对屏函数进行二维FFT与频谱位移模拟圆孔、矩孔、三角孔、黑白光栅及正弦光栅等夫琅和费衍射图样并讨论了干涉条纹受衍射因子调制及缺级现象。所有代码均可直接运行或修改参数用于观察不同缝宽、缝数、光栅常数下的光强分布变化能够帮助读者将抽象的物理公式转化为直观图像加深对衍射、干涉等概念的掌握。资源包共1个doc文件大小247KB内含摘要、关键词、引言、程序清单与图例说明结构完整便于查阅。该资源已有791人学习浏览适合作为光学实验课程辅助材料或MATLAB模拟入门参考。1. 光学衍射 MATLAB 模拟这门课设为什么值得认真做一遍做光学实验最怕的就是光学平台没调平、狭缝没对准辛辛苦苦测得一组数据回来一画图还和理论差得老远。后来我换了一条路直接用 MATLAB 把单缝衍射、杨氏双缝、黑白光栅这些经典实验全部在电脑里模拟一遍效果反而比实验室拍到的照片更干净也更容易看出物理规律。这套光学衍射模拟代码的核心是两条技术路线一条是衍射积分法把波前切开成无数点源再叠加另一条是傅里叶变换法直接用 fft2 求屏函数的功率谱。本文就把这两条路从原理讲到参数调节再补上几个我实际踩过的坑适合正在做物理仿真课设、或者想把衍射图样快速可视化的人。2. 光学衍射模拟的两条技术路线衍射积分还是傅里叶变换2.1 衍射积分法把波前拆成点源的叠加单缝衍射的典型处理方式是把缝看成 np 个小光源的集合。每个小光源在接收屏上某一点贡献一个复振幅最后把这些复振幅矢量叠加起来得到总光强。这个思路对应惠更斯-菲涅耳原理的离散化每个缝元都是次级子波源接收屏上任意一点的振动是所有这些子波到达该点的叠加。模拟里最核心的一段是光程差的计算lam 500e-9; % 波长单位米这里是绿光 a 1e-3; % 缝宽单位米即 1mm D 1; % 缝到接收屏的距离 ym 3*lam*D/a; % 屏幕显示范围取中央明纹附近三个次级大 ny 51; % 屏上采样点数 ys linspace(-ym,ym,ny); % 屏上 y 坐标序列 np 51; % 将缝分成 51 个点源 yp linspace(0,a,np); % 缝内点源位置 for i 1:ny sinphi ys(i)/D; % 小角度近似下 sinφ ≈ y/D alpha 2*pi*yp*sinphi/lam; % 每个点源相对缝中心的相位差 sumcos sum(cos(alpha)); sumsin sum(sin(alpha)); B(i,:) (sumcos^2 sumsin^2)/np^2; % 归一化光强 end这段代码里 sinphi ys(i)/D 是一个小角度近似实际的 sinφ 是 y 除以斜距离但当 D 远大于 y 时直接除以 D 误差很小。alpha 是每个点源在屏上某点产生的相位差cos 和 sin 分别求实部和虚部叠加最后平方相加得到强度。除以 np^2 是为了让最大光强不超过 1方便后续映射到灰度值。2.2 傅里叶变换法夫琅和费衍射就是屏函数的功率谱衍射积分在物理上直观但算起来麻烦。对于夫琅和费衍射有更快的办法衍射屏的远场光强分布恰好等于屏函数傅里叶变换的模平方也就是功率谱。MATLAB 里用 fft2 做二维离散傅里叶变换一条命令就代替了几层循环。a imread(diffraction_aperture.bmp); % 读入黑白掩膜图 afft fft2(a); % 二维 FFT结果是一个复数矩阵 aabs abs(afft); % 取模得到振幅谱 aabss fftshift(aabs); % 把零频移到画面中心 imshow(aabss,[]); % 显示衍射图样这里有几个关键点。fft2 得到的频谱里直流分量分布在四角fftshift 的作用是把矩阵的第 1、3 象限和第 2、4 象限交换让零频居中这样看到的图案才和实际光屏上的分布一致。取模函数 abs 是因为频谱是复数人眼只能看强度振幅的平方。实际模拟中如果需要更接近真实光强可以用 aabs.^2 而不是 aabs。2.3 两条路线怎么选看你要物理过程还是要普适性衍射积分法适合那些能写出解析表达式的目标单缝、双缝、光栅因为这些结构天然可以切成点源或线源而且能直观看到每个参数缝宽、缝数、光栅常数对条纹形态的影响。缺点是计算量随采样点数增加很快遇到任意形状孔径就要重写几何关系。傅里叶变换法则几乎不关心孔径形状只要是平面波照射、夫琅和费条件成立把孔径图塞进去就能出结果。圆孔、矩孔、三角孔、甚至一行字母都能一次性搞定。缺点是中间过程像一个黑匣子输入图片、输出花样物理图像不直接而且必须注意采样率和补零的问题否则会出现很假的混叠条纹。实际做课设推荐两条路都写衍射积分法用来验证明文公式傅里叶法用来应付形状复杂、写不出公式的孔径。两个方法在夫琅和费区给出的是同一物理结果正好可以互相验证。3. 衍射积分法实战单缝、双缝、光栅的代码与调参3.1 单缝衍射51 个点源怎么合成一条光强曲线单缝是最基础的验证。缝宽 a1mm波长 500nm屏距 1m 时中央明纹半宽度大约是 lamD/a 0.5mm。上面代码把显示范围设为 ym 3lam*D/a也就是能看到中央极大两侧各三个次级大这个范围选得很聪明太小看不清条纹结构太大次极大被压缩到几个像素。一个常被忽略的细节是 ny 和 np 的取值。np 是缝内点源数如果 np 太小点源之间相位差离散化严重模拟出的旁瓣位置会偏离理论值ny 是屏上采样数如果 ny 太小画出来的光强曲线是折线次级大可能被漏掉。经验值ny 取 201 以上np 取 101 以上曲线就平滑了。原版 51 是为了演示速度快自己复现时建议加大。3.2 杨氏双缝用 r1、r2 直接算相位差杨氏双缝和单缝最大的区别是不把缝拆成连续点源而是直接算两个缝中心到屏上某点的光程差。代码里 r1、r2 是两点到接收屏上第 i 个采样点的距离lam 500e-9; a 2e-3; % 双缝间距注意这里 a 的物理含义是缝间距 D 1; ym 5*lam*D/a; % 条纹更密需要更大的屏幕范围才能看到多根条纹 n 101; ys linspace(-ym,ym,n); for i 1:n r1 sqrt((ys(i)-a/2).^2 D^2); r2 sqrt((ys(i)a/2).^2 D^2); phi 2*pi*(r2-r1)./lam; % 两束光在屏上的相位差 B(i,:) sum(4*cos(phi/2).^2); end这里 a 是两缝间距不是缝宽。很多初学者把单缝代码里的 a 直接搬过来结果发现条纹间距完全不对。双缝干涉的条纹间距是 Δy lamD/aa 越大条纹越密所以 ym 要取大一些代码里取的是 5lamD/a可以覆盖 5 个条纹周期。光强公式 4cos(phi/2).^2 来自双光束干涉的叠加其中每一束本身是等振幅的合成强度按余弦平方变化。3.3 黑白光栅缝间干涉因子与衍射因子相乘光栅衍射的公式是 I (sinα/α)^2 * (sin(Nβ)/sinβ)^2前一项是单缝衍射因子后一项是 N 个缝之间的干涉因子。程序里对应alpha pi*a*sinphi/lam; % 单缝的相位参数 beta pi*d*sinphi/lam; % 缝间相位参数 B(i,:) (sin(alpha)./alpha).^2 .* (sin(N*beta)./sin(beta)).^2;注意 N 在这里是缝数不是灰度级。原代码里 N2 只画了两条缝如果你想观察缺级现象把 N 改成 8 或 16再配合调整 a 和 d 的比例就能看到。缺级条件是 d/a 等于整数倍时某些主极大恰好落在单缝衍射的暗纹位置。比如 d5a 时±5、±10 级主极大消失。这是光学课设最喜欢考的一个观察点建议改参数重新跑一遍。beta 接近 π 的整数倍时 sin(beta) 会趋于零公式出现 0/0此时需要做极限处理。MATLAB 里一个简单的办法是在分母上加一个极小量 eps或者直接用 sinc 函数的近似表达式替代否则图上会出现突兀的 NaN 空白。4. 傅里叶变换法实战从一张黑白图到衍射花样4.1 标准流程imread、fft2、abs、fftshift、imshow傅里叶方法的核心是把衍射屏图像当作一个二维函数直接吃掉它的透射率分布。输入可以是程序生成的矩阵也可以是 Windows 画图工具存的黑白 BMP。标准流程如下clear; close all; a imread(aperture.bmp); % 读入掩膜图 a double(a); % 转 double否则 fft2 按整数算精度不够 afft fft2(a); aabs abs(afft); % 振幅谱 aabss fftshift(aabs); % 零频居中 imshow(aabss,[]); % 自动拉伸灰度显示imread 读进来通常是 uint8 类型范围 0-255。fft2 对 uint8 也能算但绝对值动态范围很大中央极大可能比旁边亮几个数量级直接显示会只剩一个亮点。所以转 double 是第一步。显示时 imshow 第二个参数传空数组 []意思是把矩阵最小值映射到黑、最大值映射到白这样旁瓣才能勉强看出来。如果仍然太暗可以取 log(1aabss) 做对数变换把低亮度的细节拉出来。4.2 圆孔、矩孔和三角孔几何形状决定衍射斑的分布特征圆孔的夫琅和费衍射是艾里斑中心亮圆加同心圆环矩孔衍射是十字交叉条纹两个方向的条纹间距分别由矩孔的长宽决定三角孔的衍射花样更复杂会出现沿孔边界法线方向的条纹扩展。这些用手写衍射积分验算非常费劲但傅里叶法只需要换一张输入图。实际操作中孔径图建议用程序生成而不是画图工具手绘因为手绘的边缘锯齿会引入额外的高频噪声衍射图上出现不该有的星芒。我一般用矩阵逻辑索引生成几何形状比如圆孔就是[x,y] meshgrid(-1:0.01:1); r sqrt(x.^2 y.^2); aperture double(r 0.3); % 半径 0.3 的圆孔这样生成的孔边缘是理想阶跃不会混入鼠标画的锯齿。孔径尺寸和矩阵分辨率要一起考虑如果圆孔半径只占几个像素FFT 出来的艾里斑会严重变形经验是让孔径直径至少占矩阵边长的 1/10。4.3 正弦光栅为什么输出只有三个衍射斑正文里给出的正弦光栅生成办法是先画余弦条纹再保存成 BMP再走 FFT 流程。其实完全不用绕这一圈直接在 MATLAB 里生成灰度图矩阵xm 10*pi; xs linspace(-xm, xm, 500); B cos(xs) 1; % 余弦条纹值域 0~2 N 255; Br B/2*N; % 归一化到 0~255画出来是一排黑白渐变的条纹。对这个图像做 fft2 并取模平方会出现三个斑中心斑对应直流分量左右两个斑对应余弦的 ±1 级。原因很直接余弦函数在频域就是两个冲激加了一个直流偏置才让灰度非负。所以正弦光栅的衍射级次只有 -1、0、1 三级不会出现黑白光栅那种多级谱。这个例子特别适合说明为什么光栅的“正弦”形态决定了谱的稀疏性也解释了为什么实际光谱仪更喜欢正弦光栅来减少高级次重叠。4.4 多孔阵列与多方向光栅的调制效应正文还提到方孔阵列、三角形排布和斜向光栅。这类实验用傅里叶法做几乎零成本先生成掩膜矩阵再用同样的 fft2 流程。方孔阵列的衍射花样里每个孔自身的衍射因子和阵列的干涉因子相乘结果是在方孔衍射的十字条纹基础上又叠加上阵列周期对应的细密斑點。两个方向光栅叠加时如果两族条纹不平行频谱上会出现沿各自法线方向展开的两组衍射斑交叉处还会有复合的强度调制。5. 模拟过程中的高频踩坑五个最容易翻车的点5.1 图像读入后没转 double衍射图全是一个白点现象输入图片跑完 fft2imshow 出来除了中心一个亮点周围全是黑的。原因uint8 图像做 FFT 后直流分量巨大其他频率分量相对值太小被 imshow 的自动拉伸压没了。解决读图后先用 double() 转换必要时对频谱取对数 log(1abs(fftshift(fft2(a)))) 再显示。我后来凡是处理图像输入第一步固定转 double绝不给 uint8 进 FFT 的机会。5.2 光栅公式出现 NaN整条强度曲线断掉现象黑白光栅的光强曲线在某个位置突然归零或消失plot 里出现缺口。原因beta 等于 π 的整数倍时sin(beta) 为 0程序算出 0/0 得到 NaN。解决在分母加一个极小量例如 sin(beta) 1e-10或者判断 beta 接近 k*pi 时直接用极限值替换。血泪经验凡是公式里出现分式的仿真先检查分母零点别等图画出来再找原因。5.3 杨氏双缝把双缝间距当成缝宽条纹数少了一半现象双缝程序跑出来条纹间距明显偏大和理论不符。原因把单缝代码中的 a 直接粘过来a 在双缝里应该是缝间距而不是缝宽二者差一个数量级。解决先确认物理量定义。双缝的条纹间距由间距 a 决定缝宽只影响单缝衍射包络。建议在代码注释里写明 a 的物理含义这两个量混用的概率非常高。5.4 频谱中心没移到画面中央图案怎么都不对现象衍射图样的中央极大出现在图像角落整体图案像被切了一刀。原因fft2 的结果默认把零频放在矩阵左上角必须做 fftshift 才能移到中心。解决每次 FFT 后用 fftshift 然后再显示。检查是否处理过的最快方法看图案对称中心是否在画面中心如果对称但偏角就是少了 fftshift 这一步。5.5 图样有奇怪的周期条纹不是预期的衍射斑现象输出图像出现规则的斜纹或栅格状伪影和理论衍射差得很远。原因输入图像的边界处理不当或者图像尺寸不是 2 的幂时 FFT 出现泄漏更常见的是手绘图像边缘有抗锯齿渐变引入了高频分量。解决用程序生成二值掩膜保证边缘是硬边输入矩阵尺寸可以补零到 512×512 或 1024×1024减少环效应。另外显示前先做一次 median 滤波滤掉孤立噪点衍射图样会干净得多。6. 验证技巧用峰值位置与条纹间距反推模拟是否正确写完全部代码第一件事不是欣赏漂亮的衍射图而是量化验证。衍射模拟最怕的是“图看着像但数值全错”。我的习惯做法是提取光强曲线的峰值坐标和理论公式比对。对单缝衍射暗纹位置满足 asinφ mλ在小角度近似下就是 y mλD/a。跑完程序后用 findpeaks 或直接找局部极小值把前几个暗纹的位置打印出来[~, idx] findpeaks(-B); % 找光强的局部极小 y_dark ys(idx(1:min(5,length(idx)))); % 前几个暗纹位置 y_theory (1:length(y_dark)) * lam * D / a; disp([y_dark, y_theory]);如果误差超过 2%优先检查 ym 范围和采样点数。ym 取得太大条纹被压缩到曲线末端峰值定位误差变大ym 取得太小暗纹超出显示范围根本找不到。双缝干涉的验证相对简单条纹间距理论值是 Δy lam*D/a直接测量相邻亮纹间距和理论值对比。光栅则验证缺级如果 d/a 5观察第 ±5 级主极大是否消失这个现象比数值更直观一旦看到缺级说明衍射因子和干涉因子的耦合写对了。还有一招我经常用把衍射积分法跑出来的单缝结果和傅里叶方法跑出来的结果叠在同一张图里。两条曲线在夫琅和费区应该几乎重合如果出现系统性偏移往往是小角度近似被突破了如果形状不同多半是某个参数单位不一致例如波长写成了纳米500而不是米500e-9。这个检查习惯帮我避免了很多“看起来对、实际错”的尴尬。从那以后我每次写完模拟代码都会强制走一遍峰值对比流程先验证物理量再画图宁可多花五分钟也不愿意交作业时被一眼看出数值对不上。希望这篇文章里拆的代码和踩坑记录能帮你的衍射模拟一次跑通。本文还有配套的精品资源点击获取

相关新闻

从零手搓VIO:视觉惯性里程计学习者的完整复盘与工程实践

从零手搓VIO:视觉惯性里程计学习者的完整复盘与工程实践

1. 从零手搓VIO:一个视觉惯性里程计学习者的完整复盘视觉惯性里程计(VIO)这个词,第一次听到的时候我脑子里全是问号。摄像头和IMU凑一块儿,怎么就能知道自己在哪儿、往哪儿走?后来啃完课程、跑通代码、调完…

2026/10/15 10:06:03 阅读更多 →
TFC薄膜设计:光学仿真与镀膜工艺的精准映射

TFC薄膜设计:光学仿真与镀膜工艺的精准映射

简介:本资源是一份面向光学薄膜设计初学者与工程技术人员的TFC膜系设计实操教程,聚焦AR增透膜的完整设计流程,解决光学镀膜中材料选择、参数设置、多层结构优化及性能分析等核心问题。教程以AL2O3等常用镀膜材料为例,系统讲解从新…

2026/10/15 10:06:03 阅读更多 →
生鲜配送系统的一客一价机制是怎么实现的?

生鲜配送系统的一客一价机制是怎么实现的?

生鲜行业有个普遍现象:同一个土豆,卖给食堂、餐饮店、零售散客的价格各不相同。客户类型、采购量、合作深度不同,价格体系自然分层。传统手工开单靠人脑记价,客户一多难免报错。本文从功能设计与数据模型角度,拆解生鲜…

2026/10/15 10:06:03 阅读更多 →

最新新闻

从8k到1M上下文的通用化:利用Qwen-Agent的创新实践

从8k到1M上下文的通用化:利用Qwen-Agent的创新实践

/* 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 12:37:05 阅读更多 →
Java实现抖音代码跳舞:音频节拍驱动字符动画实战

Java实现抖音代码跳舞:音频节拍驱动字符动画实战

简介:一份面向Java开发者的抖音代码跳舞动画源码包,适用于希望掌握JavaFX或Swing图形编程、动画控制及文本可视化技术的学习者。该资源将Java代码文本以动态形式渲染到图形界面,并结合时间轴控制实现类似抖音的跳舞节奏效果。 压缩包共包含1…

2026/10/15 12:37:05 阅读更多 →
Floodlight实战指南:从OpenFlow控制器到静态流表路径调度

Floodlight实战指南:从OpenFlow控制器到静态流表路径调度

简介:面向SDN初学者与技术爱好者,这份基于Java的开源控制器Floodlight安装部署资料,重点解决“如何在Linux环境中快速搭建控制器”这一实际问题。内容从概述、安装前准备切入,特别提醒非专业人士建议在虚拟机上操作,并…

2026/10/15 12:37:05 阅读更多 →
从 MySQL 迁移到 GoldenDB,这个参数记得改!

从 MySQL 迁移到 GoldenDB,这个参数记得改!

最近从 MySQL 迁移到 GoldenDB,踩过一个坑。之前分享过。再来回顾一下。事故现场我们先创建一张表 test_1,SQL 如下:CREATE TABLEtest_1 ( idint(8) NOTNULL AUTO_INCREMENT, column1varchar(1) COLLATE utf8_bin DEFAULTNULL, date_time dat…

2026/10/15 12:37:05 阅读更多 →
最小完备架构:智能体从“会聊天”到“能闭环”的关键

最小完备架构:智能体从“会聊天”到“能闭环”的关键

1. 两朵乌云的名字变了,但天空还是那片天空每次提到“两朵乌云”,懂行的人都会心一笑:一百多年前的那两朵,后来长出了相对论和量子力学,直接把物理学改写了。我最近一直在想一个问题——今天的智能体领域,头…

2026/10/15 12:37:05 阅读更多 →
AI视频成本坍塌真相:0.05元/秒背后的算力剥削与流量入口战

AI视频成本坍塌真相:0.05元/秒背后的算力剥削与流量入口战

1. 一场被价格标签撕开的AI视频真相:从“神迹”到“水电煤”的三重降维 我第一次在内部测试群里看到Sora生成的东京街景视频时,手抖着把咖啡泼在了键盘上——不是因为震撼,而是因为那帧率、光影过渡和物理逻辑太像真人用ARRI拍出来的素材了。…

2026/10/15 12:36:04 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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 阅读更多 →