[光路解析] 浅谈光源的远心光路

简介: [光路解析] 浅谈光源的远心光路

远心光路是一种专门为了纠正普通光路视差所设计的一种光路,这种光路和普通光路稍有不同,可以在一定物距范围内,令图像放大倍率不会变化,并且可以矫正畸变,目前广泛应用于精密测量中。而非远心光路成像则是近大远小。

对于远心光路的原理,其实可以简单一句话就能说清楚,它就是普通的光学镜头在焦面上加上光阑,即普通光路加小孔成像。

上图是一种传统的光路,可以看到,相同大小的物体,因为和成像系统的距离不同,成像的大小不同,这就是我们刚才说的视差,也即近大远小问题。而如果把这个系统做成远心光路,则会变成下图。

可以看到,只是在像方焦平面上加了个光阑,远近两个相同大小的物体就可以成一样大小的像,近大远小的问题也就被消除了。至于像具体的大小,可以根据需要设置像面的远近来进行调节。这种光路因为光线在物方是平行光,所以被称为物方远心光路。

物方远心光路优势在于,像面位置确定之后,放大倍率只和物体大小有关,从而解决了探测的景深问题。而它的劣势在于,像面的位置和放大倍数有直接的关系,所以相机的位置对于测量结果存在很大影响,所以每次使用都需要重新标定放大倍数。

像方远心光路则和物方远心光路相反,它的光阑是放在物方焦平面上,可以看出这种光路的放大倍数和像面的远近无关,因此相机位置并没有什么影响。

像方远心光路的优势在于,这种设计的放大倍率不会随着像面位置变化,从而解决放大倍率变化问题,像面的照度较为均匀。劣势在于,探测景深会受到系统孔径大小的限制。

图中这种光路叫做双侧远心光路,这种光路是将光阑放在了光学系统的中间,兼具了物方远心光路和像方远心光路的优点,无论是物体的远近还是相机的远近都不影响放大倍数,因此广泛应用在机器视觉测量监测领域。

双侧远心光路的优势在三点,第一是提高测量的分辨率,第二是稳定放大倍率,第三是加深测量的景深。劣势在于,系统要探测多大的物体,就需要多大的孔径,这就意味着可能要把体积做的很大。其次,由于光路是滤出了大部分的光,只留下能通过光阑的部分,因此如果使用平行度不够高的光源,如自然光源,可能会造成像面的照度不足。

目前,远心光路常常用于检测三维物体,或者图像尺寸和形状准确性非常重要的情况。根据远心光路的原理特征和独特优势,当检测物体遇到以下六种情况下,可以使用远心光路。

1、当需要检测有厚度的物体的时候(厚度大于0.1倍FOV直径);

2、需要检测不再同一平面的物体的时候;

3、当不清楚物体到镜头的距离究竟是多少时;

4、当需要检测带孔径、三维的物体时;

5、当需要低畸变、图像效果亮度几乎完全一致时;

6、当缺陷只在同一方向平行照明下才能检测到时。

目录
相关文章
|
7月前
|
机器学习/深度学习 监控 数据可视化
基于YOLOv8的猪的生活行为识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
在现代养殖业中,如何高效、准确地监测猪的生活行为,是提升生产效率与健康管理的关键。借助深度学习与计算机视觉,本项目基于 YOLOv8 目标检测模型,结合 PyQt5 可视化界面,实现了对猪只 饮水、进食、休息、无行为状态 等 12 种行为的自动识别与可视化展示。 项目开箱即用,支持 图片、文件夹、视频、实时摄像头 多种输入方式,并配套完整的训练流程、部署教程和源码数据集,方便二次开发与快速落地。
|
11月前
|
人工智能 数据可视化 BI
HR必看!用工成本计算居然藏着这些猫腻?手把手教你算准每分钱
用工成本计算远比想象中复杂,隐藏的猫腻让90%的HR新手踩坑。本文从实际案例出发,解析用工成本构成,包括基础项、隐藏项及隐性支出,并揭示三大常见计算雷区。同时,推荐智能系统助力精准核算,通过数字化工具实现成本管控优化,如薪酬结构调整、弹性福利积分制等方法,为企业降本增效。未来,借助先进技术,用工成本管理将更加科学高效。
627 12
|
SQL Oracle 关系型数据库
SQL如何添加字段记录:详细步骤与技巧
在数据库管理中,经常需要向已有的表中添加新的字段(列)或向表中插入新的记录
3543 5
|
传感器 计算机视觉 芯片
[硬件选型] 光源及照明方式的选择
[硬件选型] 光源及照明方式的选择
639 0
|
编解码 并行计算 芯片
[工业相机] 分辨率、精度和公差之间的关系
[工业相机] 分辨率、精度和公差之间的关系
4117 2
|
传感器 芯片
[远心镜头] 物方远心、像方远心和双远心镜头的区别
[远心镜头] 物方远心、像方远心和双远心镜头的区别
1510 0
|
编解码 对象存储 UED
[Halcon&标定] 单相机标定
[Halcon&标定] 单相机标定
2509 2
|
分布式计算 Java Go
Golang深入浅出之-Go语言中的分布式计算框架Apache Beam
【5月更文挑战第6天】Apache Beam是一个统一的编程模型,适用于批处理和流处理,主要支持Java和Python,但也提供实验性的Go SDK。Go SDK的基本概念包括`PTransform`、`PCollection`和`Pipeline`。在使用中,需注意类型转换、窗口和触发器配置、资源管理和错误处理。尽管Go SDK文档有限,生态系统尚不成熟,且性能可能不高,但它仍为分布式计算提供了可移植的解决方案。通过理解和掌握Beam模型,开发者能编写高效的数据处理程序。
678 1
|
人工智能 数据库 数据安全/隐私保护
30w粉丝后我发现,普通人想靠自媒体逆袭,已经没有机会了
作者分享了其对当前自媒体行业困境的观察,指出2023年以来,普通人做自媒体变得越来越困难。原因包括:一是经济环境下行,公司减少,可推广内容变少,而做自媒体的人增多,竞争激烈;二是监管加强,内容质量和变现方式需更规范,增加了入门门槛;三是AI技术如GPT的发展,使得内容创作更加普及,差异化减少,进一步压缩了普通人的机会。作者认为,现在要成功做自媒体,可能需要具备独特的天赋,而这是无法通过努力获得的。
576 0
|
算法 芯片 C++
[毕设&笔记] 毕设问题汇总
[毕设&笔记] 毕设问题汇总
230 0