Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析

news2025/2/27 2:54:57

本文是 3 篇系列文章的一部分,该系列文章将讨论智能手机镜头模组设计的挑战,从概念、设计到制造和结构变形的分析。本文是三部分系列的第三部分。它涵盖了使用 Ansys Zemax OpticStudio Enterprise 版本提供的 STAR 技术对智能手机镜头进行自动的结构、热、光学性能 (STOP) 分析。有限元分析数据的导入和拟合过程通过使用 ZOS-API 实现自动化(本文提供了用户扩展和用户分析)。通过内置分析功能,以及利用 ZOS-API 用户分析实现的扩展仿真,对不同热条件下手机镜头的热致结构变形进行光学性能分析。(联系我们获取文章附件)

手机镜头设计 - 第一部分:光学设计

手机镜头设计 - 第二部分:使用 OpticsBuilder 实现光机械封装

所需工具

  • Ansys Zemax OpticStudio 旗舰版
    - 或 -
    旧版 Zemax OpticStudio 专业版/旗舰版以及 STAR 模块授权

  • FEA 模拟分析工具(Ansys Mechanical 在本示例中使用,作为 FEA 有限元分析软件)

  • Ansys Mechanical 数据导出扩展程序(可选)

简介

通常,制造延迟和生产成本增加将导致公司需要寻找方法来维持新产品的交付,以应对紧迫的时间表。“构建并推翻” 的设计模型形式推高了成本,因为样机需要在多次迭代中构建和测试。精确的多物理场仿真可以帮助工程和设计团队预测系统在各种使用情况下的性能,并仿真可能的条件,以在设计阶段了解对系统性能的影响。综合模拟是从一开始就避免浪费时间并节省生产周期成本的方法之一。由于材料在不同温度下性能的变化,物理影响不仅是结构上的,而且是光学上的。这些影响可能很关键,严重影响批量生产后产品的使用。

在手机相机镜头模组的设计阶段要考虑的因素之一是,如果手机在温度与室温不同的环境中使用,它是否可按照规格运行。随着温度的变化,透镜材料膨胀或收缩,导致透镜的表面形状以及材料折射率发生变化,这将使光线发生偏离。此时的表面形状不再能够通过已知的参数化多项式来描述,也不再能将各向同性折射率赋予整个透镜几何体。这些变化会影响最终图像,并可能降低图像质量,MTF 值可能也会低于设计要求,从而导致最终图像损失对比度而变得模糊。

光学产品不仅包含光学透镜,还具有机械封装元件,这些元件会因为改变镜片的位置和对镜片施加压力(这是镜片表面变形的另一种方式)而显著影响性能。Ansys Zemax OpticStudio 旗舰版可用于对手机镜头光学系统进行结构和热分析,当热条件和机械负载得到模拟时,输出的结果可用于量化它们对手机镜头系统的影响。通过将 Ansys Mechanical 的仿真结果加载到 Ansys Zemax OpticStudio 旗舰版进行静态和瞬态仿真,从而建立互操作性以全面了解光学性能。

STAR 用户扩展程序

为了分析热致结构变形的影响,共计 14 个结构数据集可以分配给系统中的透镜表面。OpticStudio 用户界面可实现为每个表面单独分配数据集。

图片

图 1. 加载 FEA 数据工具,用于将 FEA 数据集分配给光学表面。

共有 14 个光学表面和 7 个对应时间点,总共有 98 个不同的 FEA 数据集需要分配给正确的光学表面才能全面分析系统。为了减少重复点击并避免数据分配过程中的错误,可通过 ZOS-API 编写用户扩展程序,将数据加载到当前镜头系统。用户扩展程序可以:

  • 从数据集文本文件的名称中识别表面编号和 FEA 数据类型

  • 自动将数据集应用于正确的表面

  • 自动应用所有时间点的数据集

如何使用用户扩展程

1. 选择保存有限元分析数据集的相应坐标系

  • 此扩展模块假定所有 FEA 数据集都在同一坐标系中保存

    图片

图 2. STAR 用户扩展程序中的坐标系控制

2. 要加载FEA数据集文本文件,请单击Load FEA

3. 在弹出的“文件资源管理器”窗口中,选择包含系统数据集的文件夹。

  • 默认路径与当前镜头文件所在的位置相同

  • 请务必确认内部文本文件的格式正确,以避免加载错误

图片

图 3. 从 Ansys Mechanical 通过“导出至STAR扩展”工具保存并整理的FEA数据集。

4. 在 OpticStudio 界面中,打开 STAR 拟合评估工具检查(如果需要,进行修改)拟合设置选项,然后点击OK。

  • 此用户扩展对所有调整的表面和此 FEA 数据类型应用相同的拟合设置。

  • 报告拟合参数和拟合结果以供核查并保存为 txt 文件。

  1. 图片


    图 4. 在拟合评估工具中调整的拟合设置。

    图片

    图片

    图5. 左-加载和拟合FEA数据集的日志报告,为每个 FEA 数据集报告的 RMS 和 PV 拟合误差范围。右-输出的文本文件。

自动化瞬态分析工作流程(多个时间点)

需要在不同阶段或操作模式下进行分析的应用,例如不同的阶段(地面、发射和在轨)、不同的时间(激光关闭、激光开启 0 秒、激光开启 5 秒、激光开启 5 分钟等)或不同的温度(0℃、25℃、50℃),要求团队使用多组 FEA 数据集。在每个阶段将 FEA 数据集分配给光学表面可能既耗时又容易出错。附件中的用户扩展处理数据分配,并在后台为当前手机镜头添加 STAR 系统。

为了载入多个时间点的 FEA 数据集:

1. 选择保存 FEA 数据集所在的合适坐标系。

2. 接下来选择要加载的 FEA 数据类型。在此示例中,我们将使用Structural Only:

  • 通过用户扩展,我们只需点击一下即可轻松加载仅结构数据、仅温度数据或两者兼有的数据。

  • 为表面指定数据时,将根据该文本文件的名称应用这些数据,例如,Surface_05_Temperature.txt将应用于表面5。当名义镜头文件中有虚拟表面或其他透镜表面添加镜头数据编辑器中时,还可以进行补偿分配操作,例如,如果在所有镜头元件之前添加了两个表面,并且分配补偿设置为2,那么Surface_05_Temperature.txt现在将应用于表面7。

3. 点击加载多组有限元分析数据。

图片


图 6. STAR 用户扩展中的加载多组有限元分析数据按钮。

4. 在弹出的文件资源管理器窗口中,选择存有不同时间点 FEA 数据集的多个文件夹,然后点击 OK。

  • 在后台会创建初始镜头系统的副本,并以以下命名架构进行保存:{original_lens_filename} + 'sys'{n}.zos(e.g. 710_reoptimized_MTF_materials_QType_sys6.zos)

  • 具有 FEA 数据集的不同 OpticStudio 系统将列在一个表中,其中每行代表一个创建的系统。

图片


图7. 按时间步长组织的有限元分析数据集。

  • Surface_XX_Temperature

  • Surface_XX_Deformation

  • Surface_XX_Temperature_deformed

  • 用户扩展将每个表面的拟合设置和FEA数据集的拟合结果保存到与镜头设计文件位于同一目录中的 MultiFEAfitResults.txt。

  • 用户扩展遵循 本文 中使用的命名架构。该扩展仅识别具有以下名称的 FEA 数据文件:

  • 如果 FEA 数据集的格式或命名不正确,则在数据加载过程中,OpticStudio 将显示一条错误信息。此外,PV 和 RMS 拟合结果将为 0。

图片

图8. 在此示例中,不受支持的表面类型分配了FEA数据集。每当在加载或拟合过程中出现问题时,报告的拟合误差为0。

5. 加载 FEA 数据集后,您可以使用 ActiveFEA 列中的复选框来快速验证该特定系统的 STAR 数据或其他性能。

图片


图 9. STAR 用户扩展中的 ActiveFEA 列。双击该复选框可快速切换到不同的系统。

6. 要想无需重新导入 FEA 数据集而保存进度并返回到过程中,您可以点击 “Save” 按钮。

  • mygrid.bin 文件将保存在 C:\Users\...\Documents\Zemax\Configs路径中

  • Load 按钮将从 bin 文件中加载扩展中的所有数据和相关设置。

图片

图片

系统布局图导出

从各个时间点生成系统视图对于了解系统在整个时间范围内经历的变化非常有用。当使用 ZOS-API 扩展执行多 FEA 数据加载时,会自动生成一个 ZPL,以便将分析图形窗口保存为不同 STAR 系统的图像文件。ZPL 宏保存到 C:\Users\...\Documents\Zemax\Macros\ZPL Image Export.zpl。在此示例中,我们将重点介绍 STAR 系统查看器,以查找可能由有问题的 FEA 数据集引起的任何明显错误。

  • 该宏会将表中所列所有系统的图像导出到 C:\TEMP 中

  • 打开当前文件路径中的任一 STAR 系统,系统查看器功能仅适用于加载了 FEA 数据的镜头文件。

  • 在 OpticStudio 界面中,关闭所有图形和分析窗口(即布局图、WFE 图等)

  • 在命令功能区中,点击 STAR选项卡> 系统查看器

  • 在命令功能区中,点击 “编程”选项卡 > 宏列表 > ZPL Image Export.zpl

  • 宏运行后,图像文件保存在输出目录中。

图片

图片

  • 输出目录可以根据具体喜好和情况修改。

图片

此方法可用于生成其他 STAR 模拟分析结果的对比报告。

通过使用上述 ZOS-API 功能,我们可以快速了解有限元数据集的质量,并向机械工程师反馈,以便在做有限元分析时进行实际设置项检查或参数调整。

STAR 用户分析

查看一个系统中所有表面的拟合结果

一旦 FEA 数据集通过用户扩展程序得到分配,单独的用户分析就可以加载并显示所有系统的结果总结。这在处理来自不同时间点的多组数据集时提供了更高效的工作流。

1. 要分析多个时间点的结果,请在OpticStudio界面的“编程”选项卡中点击 User Analyses > STARUSER_ANALYSIS。

2. 在STAR用户分析中,点击设置下拉按钮。

图片

图10. 出现 STAR 用户分析窗口。点击设置下拉菜单以打开设置窗口。

4. 要检查一个系统中所有光学表面的拟合结果,请点击 Check Fit Error/User Plot

  • 右侧面板将改变

5. 更改以下设置,然后点击 “OK”:

  • 数据:Structural

  • STAR系统:1

  • 拟合误差:RMS + PV

图片


图 11. 拟合评估面板使您能够一次显示系统中所有光学表面上的拟合误差。
 

图片


图 12. 时间点 1 处每个光学表面的 RMS 和 PV 拟合误差。每个表面的拟合设置显示在左下角。

显示所有表面和所有时间点的RMS拟合误差

  1. 要显示所有光学表面在所有时间点下的拟合误差,请点击 Fit Error / User Plot

    • 右侧面板将改变

  2. 更改以下设置,然后点击 “OK”:

    • 数据:Structural

    • STAR系统:All

    • 拟合误差:RMS

图片

图 13. 对所有系统中所有表面进行拟合评估。

3. 点击 STAR 用户分析窗口中的更新,将出现绘图:

图片

图14. 每个光学表面的RMS拟合误差。每条线代表一个单独的时间点。

当前拟合设置对拟合误差结果的影响可以在所有 STAR 系统的绘图中看到。例如,我们可以在 OpticStudio 界面中手动更改拟合设置,并重新加载数据以进行拟合误差比较。

4. 在 OpticStudio 界面的 STAR 选项卡中,点击 Fit Assessment

5. 将表面 13 和表面 14 的拟合设置更改为:

  • Grid 1:3

  • Grid 2:3

  • Max Level:9

6. 点击 OK。

图片

图15. 更新的每个系统中所有光学表面的 RMS 拟合误差。请注意,与图 14 相比 Y 轴发生了变化。

通过STAR用户分析评估瞬态性能

加载 FEA 数据集并执行其各自的拟合后。现在,我们可以使用相同的技术继续分析光学性能。七个 STAR 系统代表不同的温度条件:分别为 -40°C、60°C、65°C、70°C、75°C、80°C、85°C。以下结果表明,在不同温度下性能会快速下降。

图片

图片

图16. 初始系统和 STAR 系统之间的点列图分析比较。左图为初始系统性能。右图显示了每个温度点的性能。

图片

图17. 最大视场的 RMS 半径。请注意,名义系统的 RMS 半径为 9.998 μm,然而,该视场的光斑半径比初始尺寸增加到了近 8 倍。

镜头系统在各种热力条件下的对比度可以通过监测 FFT MTF 分析的结果来量化。名义系统的性能会随着温度从室温的变化而迅速下降。在低于和高于室温的温度下,性能低于规格。

图片

图片

图18. FFT MTF分析的比较。左边是初始系统性能。右图显示了每个温度点下不同子系统的FFT MTF。

FFT 离焦 MTF 也可用于更深入地了解系统性能。对于名义系统,在相对于像面的偏移量为 +/-0.015mm 的位置,200 cyc/mm 空间频率的 MTF 值,大致高于 0.2。然而,随着温度的变化性能峰值会偏移。这会导致在各种热条件下成像模糊。

图片

图片

图19. FFT离焦MTF比较。左边是初始系统性能。右图演示了应用了FEA数据集的子系统性能。

另一个观察 MTF 下降的方法是利用 MTF vs. Field 分析。尽管初始系统性能设计为在 ~45° 的视场下工作,随着温度的升高,38° 左右视场的MTF值下降到了 0.2 以下。

图片

图片

图 20. MTF vs. Field 分析。初始系统设计为具有 ~45° 的 FOV。左图为初始系统性能。右图是在不同温度点下的系统性能。

对所有系统进行STOP分析

到目前为止,ZOS-API 已被用于评估拟合误差并输出不同分析的图像。在接下来的部分,STAR 用户分析将用于生成 1D 和 2D 绘图,以评估不同的性能指标和设计更改以提高系统性能。

为了分析光学系统在整个温度范围内的性能,利用用户分析绘制评价函数操作数对温度的各种性能指标。用户分析可以绘制:

1. 一维绘图

  • 系统编号(例如温度条件或时间步长)

  • MFE 中定义的评价操作数的输入参数

  • 或者使用多重结构并选择一个 MCE 操作数行,这里的想法是使得绘图更通用地由一个操作数控制

  • X 和 Z 有以下组合,它们能够在测试下显示结果。

  • 自变量:

自变量 X

因变量 Z

所选操作数的输入参数

MFE 操作数行返回值 

MCE 操作数行

MF 值/ MFE 操作数行返回值 

加载不同有限元分析数据的不同镜头文件(不同的热条件)

单曲线情况

 MF 值/ MFE 操作数行返回值 

加载不同有限元分析数据的不同镜头文件(不同的热条件)

多系列情况

 MFE 操作数行返回值 

2. 二维图

  • MFE 中的评价函数值

  • MFE 中定义的特定操作数的评估结果

  • 响应/因变量 Z 可以是

使用 1D 绘图针对不同 STAR 系统计算平均 MTF 值情况:

1. 在 OpticStudio 的评价函数编辑器中,在新行中插入一个操作数。

2. 将操作数类型更改为 MTFA,然后输入以下值:

  • 采样:3(采样)

  • 波长:0(复色)

  • 视场:1(轴上视场)

  • 频率:50(空间频率为 50 个 cyc/mm)

  • 网格:0(计算 MTF 的快速采样积分方法)

  • 数据类型:0(返回调制幅度)

  • 目标:0

  • 权重:0

图片

3. 在 STAR 用户分析中,点击设置下拉菜单

4. 将 X 范围设置更改为 STAR 系统

5. 在评价操作数行中选择 MTFA

6. 勾选 “Multi Series” 复选框

7. 输入以下设置

  • 对于 MTFA 操作数,Par3 代表视场数

  • 起始值: 1

  • 结束值: 5

  • #步数: 5

  • 对于 MTFA 操作数,Par3 代表视场数. 这些设置最终进入用户分析,将视场从 1 更改到 5,并收集平均 MTF 值.

  • 在参数下拉菜单中选择 Par3

图片

8. 输入适当的设置后,点击 OK,然后刷新窗口。

图片

下图是用户分析的输出结果。X 轴显示代表不同温度环境的 STAR 子系统。纵轴是从步骤 2 中定义的 MTFA 操作数中得到的平均 MTF。不同颜色的线代表在步骤 7 中定义的不同视场点。为清楚起见,图表中添加了额外的标签。

图片

图 21. 50 cyc/mm处的 MTFA 分析。X 轴代表不同的时间点。每个颜色条目代表在系统资源管理器中定义的一个不同视场点。视场 4 表现出最差的性能。

从用户分析扩展生成了第二幅绘图,空间频率设置为 100 cyc/mm。从两幅图中可以清楚地看出,第 4 视场的性能是所有 STAR 子系统中最差的。

图片

图 22. 100 cyc/mm 的 MTFA 分析。X 轴代表不同的时间点。每个颜色条目代表系统资源管理器中定义的一个不同视场点。视场 4 表现出最差的性能。

使用二维绘图模拟设计变更并提高系统性能

为了获得有关可提高系统性能的更改的设计见解,用户分析可以创建 2D 绘图以可视化多个系统配置的性能。在此用户分析中,X 轴代表 STAR 系统,Y 轴代表配置。该分析将用于评估当调整最后一个镜片和图像传感器之间的距离时系统的性能。

要创建 2D 用户分析图,请执行以下操作:

1. 在多重结构编辑器 (MCE) 中,添加新的操作数行

2. 点击操作数属性下拉列表,并将操作数类型更改为 THIC(厚度)

3. 在 Surface 下拉菜单中选择 16

图片

图 23. 为表面 16 定义了 THIC 操作数的 MCE。这使得 STAR 用户分析能够改变最后一个光学表面和像面之间的距离,从而模拟光学器件和传感器之间的距离改变。

4. 在 “用户分析” 窗口中,将 X 范围更改为 STAR 系统

5. 在 Y 类别下拉列表中,选择 Configuration

6. 更改以下设置:

  • 选择 THIC

  • 起始值:0.285 (mm)

  • 结束值:0.365 (mm)

  • #步数:10

7. 评价操作数行:MTFA

8. 点击OK并刷新分析窗口。

图片

图 24. STAR 用户分析设置,用于生成 MTFA 的 2D 绘图。

生成分别显示 50 cyc/mm 和 100 cyc/mm 处平均 MTF 的两张图。

图片

图片

图 25. 通过 STAR 用户分析生成的 2D 图。绘制的 MTFA 相关于系统编号和 MCE 中定义的 THIC 操作数。左图为 50 cyc/mm的 MTFA。右图是 100 cyc/mm 的 MTFA。

基于这些图形,我们可以预测,通过将最后一个镜片和传感器之间的距离调整 0.309mm 左右,可以实现更好的平均 MTF 性能,这将在整个温度范围内产生最佳的整体性能。

结论

本文展示了如何使用 ZOS-API 功能在 STAR 模块中自动执行操作,以帮助导入 FEA 数据集并生成分析图。

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

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

相关文章

微信小程序的开发---tabBar的介绍

目录 一、tabBar的介绍 二、tabBar的6个组成部分 三、tabBar节点的配置项 四、tab项的配置选项 五、tabBar的使用 一、tabBar的介绍 tabBar是移动端应用常见的页面效果,用于实现多页面的快速切换。小程序中通常将其分为: (1)…

猫头虎解析:如何巧妙避免GET请求中的“EOF“错误?

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

企业架构LNMP学习笔记22

防盗链原理和实现。 域名A的资源文件,经常被域名B直接调用访问。 而用户经常访问域名B,看到的资源(图片等)以为是域名B的,实际则是域名A的。 但是域名A没有获得任何收益,却要给域名B来源的访问消耗服务器…

解决eclipse的报错:Must declare a named package because this compilation

刚安装完成eclipse, 创建类的时候报错 报错信息如下: 原因:新版本的ECLIPSE要求每一个类都必须定义在包里面 解决方法:创建类的时候指定类的名字,如下图:Package 里面填写ch3,表示包名 创建完成…

智慧物联网医疗,树立可持续性智能化和便利化新标杆

医疗物联网(IoMT)是一个快速发展的领域,它正在改变医疗保健的未来。IoMT 指的是物理设备、车辆、家用电器和其他嵌入传感器、软件和网络连接的对象的网络。这些设备可以帮助医疗保健提供者更好地了解患者的状况,并提供更高效和更有…

区分何时使用内连接或者外连接

一张表(A)中的一条记录可以对应另一张表(B)中的多条记录; 另一张表(B)中的一条记录只能对应一张表(A)中的一条记录。 //查询所有姓张的学生的id,name和所在班级name 这里如果外键可以为空的话就需要使用左外连接,才可以查到。 内连接 //假如外键不可以为空select…

Canape使用中遇到问题的解决办法

问题一、canape绘制目标时,二维结构体变量只能录制16个的解决办法 打开ASAP2 Studio 2.6 -Expert 软件。 把该软件中的设置项如下图进行修改。 然后用ASAP2 Studio 2.6 -Expert 软件 打开elf文件导出成A2L文件。 最后关闭该软件。 再在canape工程中重新加载刚才…

1.8 工程相关解析(各种文件,资源访问

目录 1.8 工程相关解析(各种文件,资源访问) 分类 Android 基础入门教程 本节引言: 1.工程项目结构解析: 1.res资源文件夹介绍: 2.如何去使用这些资源 2.深入了解三个文件: MainActivity.java: 布局…

指针-成绩统计

任务描述 请设计一个函数,以指针变量作为函数的参数,从标准输入上读入数量不定的成绩。统计全班成绩的总数量、90 分及以上成绩的个数、60 分及以上成绩的个数和全班成绩的平均分,并返回这四个数给主程序。编写主程序调用此函数完成统计功能…

gitlab 点击Integrations出现500错误

背景:在新服务器重新搭建了gitlab,并导入原来gitlab的备份,在项目中点击点击Integrations出现500错误。 解决方法:1.进入新服务器,将 /etc/gitlab/gitlab-secrets.json重命名为 /etc/gitlab/gitlab-secrets.json.bak …

快速入门 Logback

简介 Logback 旨在作为流行的 log4j 项目的继承者。它是由 log4j 创始人 Ceki Gulcu 设计的。同时它也是 SpingBoot 项目的默认日志框架。 安装 因为 logback 需要和 slf4j 一起使用,所以总共需要添加依赖的包有 slf4j-api.jar,logback-core.jar&…

sql:SQL优化知识点记录(十四)

(1)索引失效行锁变表锁 建立2个索引 索引是失效后,系统性能会变查,如果涉及到锁的话,行锁会变表锁 有一个问题,当session1用b字段做查询条件因为是varchar类型,需要加双引号,但是没…

开源知识库平台Raneto

什么是 Raneto ? Raneto 是一个开源知识库平台,它使用静态 Markdown 文件来支持您的知识库。 官方提供了 doc & demo 网站,即是帮助文档,也是个 demo,地址:https://docs.raneto.com 准备 项目使用con…

摆动输入连杆夹持机构

1、运动与受力分析 import sympy as sy import numpy as np import matplotlib.pyplot as plt a,a1,b,b1,c,c1,d2,d3,fi,F,L,e sy.symbols(a,a1,b,b1,c,c1,d2,d3,fi,F,L,e)A(-d2,0) D(0,d3) B(-d2a*cos(fi),a*sin(fi)) C(-c*cos(pu),d3c*sin(pu)) B(-d2a*cos(fipi),a*sin(fipi…

K8S原理架构与实战教程

文章目录 一、背景1.1 物理机时代、虚拟机时代、容器化时代1.2 容器编排的需要 二、K8S架构2.2 Worker节点 三、核心概念3.1 Pod3.2 Deployment3.3 Service3.4 Volume3.5 Namespace 四、K8S安装五、kubectl常用命令六、K8S实战6.1 水平扩容6.2 自动装箱6.2.1 节点污点6.2.2 Pod…

Java多线程(二)线程安全

线程安全 线程安全(风险) 线程不安全的原因: 解决线程不安全: synchronized 内存刷新 可重入 volatile 关键字 wait 和 notify wait() notify () wait与sleep的区别&…

C# OpenVino Yolov8 Seg 分割

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp;namespace OpenVino_Yolov8_Demo {public…

30天入门Python(基础篇)——第2天:Python安装(保姆级)与IDE的认识与选择+详细安装教程

文章目录 专栏导读上一节课回顾1、Python解释器的安装查看各个版本的Python解释器①、ok,双击安装②、这里我们选择【自定义】安装, 下面的【将Python添加在环境变量】大家一定要打个勾③、点击【Next】进行下一步④、这里不建议安装在C盘, 点击【Browse】我在F盘创…

『SpringBoot 源码分析』run() 方法执行流程:(3)刷新应用上下文-处理 @ComponentScan 注解

『SpringBoot 源码分析』run() 方法执行流程:(3)刷新应用上下文-处理 ComponentScan 注解 基于 2.2.9.RELEASE问题:当方法进行了注释标记之后,springboot 又是怎么注入到容器中并创建类呢? 首先创建测试主…

linux--进程--system与popen函数

1.system #include <stdlib.h>int system(const char *command); 返回值&#xff1a; 成功&#xff0c;则返回进程的状态值&#xff1b;不能源码execl函数&#xff0c;返回127&#xff1b;失败返回-1&#xff1b; 不能成功运行分析文章&#xff1a;linux下system函数详…