远心镜头的原理

2024-04-12 13:32
文章标签 原理 镜头 远心

本文主要是介绍远心镜头的原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:http://blog.csdn.net/liyuanbhu/article/details/53957501

1.原理介绍

远心镜头(Telecentric lens),是为纠正传统镜头视差而设计,它可以在一定的物距范围内,使得到的图像放大倍率不会变化,简单的说这种镜头拍出来的图像没有近大远小关系。

远心镜头又分为物方远心镜头、像方远心镜头和双侧远心镜头。下面是两个远心镜头的实物照片。

这里写图片描述

这里写图片描述 
关于远心镜头的原理,网上有一些介绍,但是写的都很晦涩。其实几句话就能说清楚的,最核心的一点是远心镜头是普通镜头与小孔成像原理的结合

这里我试着用三张图来说明远心镜头的原理。

1.1物方远心镜头

       传统镜头的光路: 
这里写图片描述
    如果我们在像方焦点处放置个小孔,光路就变成了这样:

这里写图片描述
这个小孔的作用就是只让平行入射的物方光线可以达到像平面成像。从几何关系可以看出这时像就没有近大远小的关系了。物方远心镜头的原理就这么简单。之所以叫物方远心,是因为接收平行光成像,相当于物体在无穷远处。

物方远心镜头的缺点是放大倍数与像距成直接关系。实际使用时相机安装的远近会影响放大倍数。所以每个镜头系统都要单独的标定放大倍数。

1.2像方远心(image-space telecentric)

我们知道光路是可逆的,那么将物方远心镜头的光路反过来就成了像方远心镜头的光路。 
这里写图片描述

这种镜头的特点是放大倍数与像距无关,相机离得远还是近都不影响放大倍数。

1.3双侧远心镜头 (double telecentric、bi-telecentric)

结合物方远心和像方圆心的光路就成为了双侧远心镜头。下面是光路: 
这里写图片描述
这种镜头的特点是物体离得远近或者相机离得远近都不影响放大倍数。所以广泛的应用在机器视觉测量检测领域。

当然,实际的圆心镜头中的小孔光阑不可能无限的小,那样进来的光线就太小了。所以实际的圆心镜头还是会有一定的近大远小关系的(这个指标称之为远心度,远心镜头的远心度通常小于0.1°)。物距也不是任意的,但是它比普通的镜头的景深要大得多。

 

转自:https://jingyan.baidu.com/article/a3aad71aab11e9b1fb0096e7.html

2.选型

 

第一部分:远心镜头的原理说明

首先,我们从非远心镜头的几个问题说起。第一个问题,一般镜头在成像过程中,当工作距离发生变化时,其所成图像大小会相应的发生变化,造成的结果就是同一个焦距的镜头,对应不同的物距,将会有不同的放大倍率,这一现象跟人类视觉系统的近大远小视觉差类似。这一问题在某些应用场合是可以被忽略甚至加以利用的,但是当我们的视觉系统被用来执行精密测量任务时,这一特性则会成为极大的阻碍。第二个问题,普通的镜头都存在一定范围的景深,当被测物体不在镜头的景深范围内时,图像就会变得模糊,无法清晰聚焦,为此,设计师们在普通镜头上设计了调焦环,当工作距离发生变化时,可以通过调节对焦面来看清楚感兴趣的区域。问题是,如果被测物体本身的深度超出了一定范围,镜头始终没办法同时看清首尾两端,这个问题,必须通过其他的途径来解决。第三个问题,随着现在成像芯片分辨率的不断提高,用户对测量精度的要求也越来越苛刻,普通的镜头受制于其光学成像的原理,最好的也只能做到10um左右,视觉检测领域需要精度更高的成像产品。

 双远心镜头即是为了解决这些问题应运而生的。双远心镜头通过在光学系统的中间位置放置孔径光阑,使主光线一定通过孔径中心点,则物体侧和成像侧的主光线一定平行于光轴进入镜头。入射平行光保证了足够大的景深范围,从镜头出来的平行光则保证了即是工作距离在景深范围内发生大幅度变化,成像的高度也就是放大倍率不会发生变化。

第二部分:远心镜头使用范围

  什么情况下应该选用远心镜头呢?根据笔者多年从事机器视觉产品选型的经验,再次给读者一些参考,如下情况,建议选用双远心镜头。

1)当被检测物体厚度较大,需要检测不止一个平面时,典型应用如食品盒,饮料瓶等。

2)当被测物体的摆放位置不确定,可能跟镜头成一定角度时。

3)当被测物体在被检测过程中上下跳动,如生产线上下震动导致工作距离发生变化时。

4)当被测物体带孔径、或是三维立体物体时。

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

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

7)当需要超过检测精度时,如容许误差为1um。

第三部分:远心镜头的选型方法

    远心镜头的选型办法其实跟普通光学系统中的镜头类似,需要关注的几个点如下:

兼容的CCD靶面尺寸。这一点跟普通镜头的选择类似,要求远心镜头兼容的CCD靶面大于或等于配套的相机靶面,否则会造成分辨率的浪费。

接口类型。目前远心镜头提供的接口类型也跟普通镜头类似,有C口,F口等,只要跟相机配套即可使用。

放大倍率,或成像范围。当放大倍率和CCD靶面确定时,成像范围即确定,反之亦然。

工作距离。一般以上三点选定的情况下,工作距离已经确定在一个范围之内,这是其成像光路决定的。需要注意的就是此工作距离是否满足实际使用要求。当选用远心系统进行检测时,我们建议先选定镜头,依据其工作距离设计其他机械结构。

景深范围。在满足前面几个使用条件的前提下,景深范围越大,说明远心系统的光学特性越好,在选型时可作为参考。

因为远心镜头的这些特性,导致其生产工艺要求非常高,所以目前主要的生产厂家都在国外,维视图像作为国内领先的远心光学自主品牌,其BT系列双远心产品以其超高的精度,稳定性和性价比,正在取得越来越多客户的认可,希望在远心光学这条路上,我们能陪伴您一起成长,为机器视觉这个大家庭的建设,贡献自己的一份力量。

这篇关于远心镜头的原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897265

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr