热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

工业镜头光圈f/#如何影响景深

工业镜头光圈f#如何影响景深工业镜头光圈f#如何影响景深的呢?对于这个问题,咱们还得先从工业镜头光圈和景深的基础概念说起。光圈(Aper
工业镜头光圈f/#如何影响景深

工业镜头光圈f/#如何影响景深的呢?对于这个问题,咱们还得先从工业镜头光圈和景深的基础概念说起。光圈(Aperture)是工业相机镜头中由几片极薄的金属片组成,中间能通过光线。通过改变孔的大小来控制进入工业镜头的光线量。光圈开得越大,通过工业镜头进入的光量也就越多。光圈的值通常用f/#来表示。

而景深就是指被摄景物中能产生较为清晰影像的最近点到最远点的距离。景深越长,那么能清晰呈现的范围就越大。

在这里插入图片描述
对于图1中所示的每种配置,都有两束光线。黑色虚线代表的光束显示了其从物体移到工业镜头系统时信息的分布情況。随着物体不断远离最佳焦点位置(虚线相交处),物体细节会移动到更广的锥形区域。锥形分布得越宽,该距离处来自工业镜头的信息与其周围的所有其他信息的界限越模糊。工业镜头的f/#可控制锥形扩展的速度,进而控制在给定距离实际上有多少信息或细节模糊成一片。

图中还有一個红色锥形,用角度表示了系统的分辨率。其中,两个锥形的线条相交处可界定整个景深范围。更改工业镜头的f/#会更改景深,f/#越低,黑色虚线扩展得越快,景深越低。

随着细节变小,图1a和1b中的光束一起靠近,加快了这种效果。最后,f/#增加太多会由于达到工业镜头的衍射极限而造成较小的细节变得模糊,因为镜头的极限分辨率与f/#成反比。此限制意味着,虽然增加f/#总会增加景深,但可解析(即使在最佳焦点下)的特征尺寸也会变大。有关衍射极限及其与f/#的关系的更多信息,请参见衍射限制。在此区域内利用短波长的确情有可原,并可通过多种方式挽回分辨率损失。有关更改波长影响系统性能的更多信息,详见波长对性能的影响。

一般来说,当工业镜头在较短工作距离聚焦时,大锥角会导致锥形在最佳焦点两侧很快发散,造成景深有限。对于在较长工作距离下聚焦的物体,光束跃迁率会下降,并且景深会增加。

在这里插入图片描述
图2描述了f/2.8(a)和f/8(b)下受检测物体中心的光束。垂直线条表示以2mm为增量从最佳焦点移开并靠近镜头。每条垂直线上都有一个方形,表示单一像素细节。图2a展示了随着光束宽度超过特征尺寸,所需细节的数量快速变为每个光束的有限部分。在图2b中,光束扩展要慢许多,细节大于所显示的所有距离的光束直径,使其成为主要的信息贡献因素,因此更容易区分。

在这里插入图片描述

图3显示了与图2相同类型的图解,但前者具有代表景深中多点的锥形,实际上是代表线对的断续信息。图3a中光束的重叠部分显示了信息如何比图3b更快地汇聚在一起。该示例展示了来自两个不同物体细节的信息如何因较低的f/#而模糊成一片。在图3b中,由于工业镜头的f/#较高而未发生这种情况。

工业镜头光圈f/#如何影响景深


推荐阅读
  • Final关键字的含义及用法详解
    本文详细介绍了Java中final关键字的含义和用法。final关键字可以修饰非抽象类、非抽象类成员方法和变量。final类不能被继承,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。文章还讨论了final类和final方法的应用场景,以及使用final方法的两个原因:锁定方法防止修改和提高执行效率。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 热血合击脚本辅助工具及随机数生成器源码分享
    本文分享了一个热血合击脚本辅助工具及随机数生成器源码。游戏脚本能够实现类似真实玩家的操作,但信息量有限且操作不可控。热血合击脚本辅助工具可以帮助玩家自动刷图、换图拉怪等操作,并提供了雷电云手机的扩展服务。此外,还介绍了使用mt_rand函数作为随机数生成器的代码示例。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
author-avatar
幽咽小香
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有