相机与镜头常识

1.焦距(FocalLength)  

焦距是从镜头的中心点到胶平面上所形成的清晰影像之间的距离。焦距的大小决定着视角的大小,焦距数值小,视角大,所观察的范围也大;焦距数值大,视角小,观察范围小。根据焦距能否调节,可分为定焦镜头和变焦镜头两大类。  

2.光圈(Iris)  

用F表示,以镜头焦距f和通光孔径D的比值来衡量。每个镜头上都标有最大F值,例如 8mm /F1.4代表最大孔径为 5.7毫米 。F值越小,光圈越大,F值越大,光圈越小。  

3.对应最大CCD尺寸(SensorSize)  

镜头成像直径可覆盖的最大CCD芯片尺寸。主要有:1/2″、2/3″、1″和1″以上。  

4.接口(Mount)  

镜头与相机的连接方式。常用的包括C、CS、F、V、T2、Leica、M42x1、M75x0.75等。  

5.景深(Depth ofField,DOF)  

景深是指在被摄物体聚焦清楚后,在物体前后一定距离内,其影像仍然清晰的范围。景深随镜头的光圈值、焦距、拍摄距离而变化。光圈越大,景深越小;光圈越小、景深越大。焦距越长,景深越小;焦距越短,景深越大。距离拍摄体越近时,景深越小;距离拍摄体越远时,景深越大。(记住控制单一变量,如果物距与焦距一起变总体上景深是变大的,因为物距的增速大于焦距的减速)  

6.分辨率(Resolution)  

分辨率代表镜头记录物体细节的能力,以每毫米里面能够分辨黑白对线的数量为计量单位:“线对/毫米”(lp/mm)。分辨率越高的镜头成像越清晰。  

7、工作距离(Workingdistance,WD)  

镜头第一个工作面到被测物体的距离。  

8、视野范围(Field ofView,FOV)   

相机实际拍到区域的尺寸。  

9、光学放大倍数(Magnification,ß)   //这个一般对于远心镜头比较重要,就是相机当作显微镜时,其放大倍数越大越好。

CCD/FOV,即芯片尺寸除以视野范围。  

10、数值孔径(Numerical Aperture,NA)   

数值孔径等于由物体与物镜间媒质的折射率n与物镜孔径角的一半(a\2)的正弦值的乘积,计算公式为N.A=n*sina/2。数值孔径与其它光学参数有着密切的关系,它与分辨率成正比,与放大率成正比。也就是说数值孔径,直接决定了镜头分辨率,数值孔径越大,分辨率越高,否则反之。  

11、后背焦(Flangedistance)   

准确来说,后倍焦是相机的一个参数,指相机接口平面到芯片的距离。但在线扫描镜头或者大面阵相机的镜头选型时,后倍焦是一个非常重要的参数,因为它直接影响镜头的配置。不同厂家的相机,哪怕接口一样也可能有不同的后倍焦。  

二、镜头选型  

1.选择镜头接口和最大CCD尺寸  

镜头接口只要可跟相机接口匹配安装或可通过外加转换口匹配安装就可以了,其一般的接口是C口跟CS口,这两者主要的区别是图像传感器与镜头之间的距离不同这两者类型的接口没有细分的,其C口的大小全都都一样,;镜头可支持的最大CCD尺寸应大于等于选配相机CCD芯片尺寸。

1.

CS-mount: 图像传感器到镜头之间的距离应为12.5 mm

 

C-mount: 图像传感器到镜头之间的距离应为17.5 mm。一个5 mm的垫圈(C/CS连接环)可用于将C-mount镜头转换为CS-mount镜头

C口螺纹和CS口螺纹是一样的口径一英寸,in32牙的螺纹,他们的不同在于焦距,C口焦距17.5mm    CS口为12.5mm

  

        其实这不是一个硬性条件,只是这样子出来的图片有的地方因为爆不了光而变成黑色。所以选匹配的工业镜头主要三个条件:

         a、根据博客下面的焦距计算公式,计算得到适合实验环境的焦距。

        b、为了充分利用相机的像元,应当选择镜头尺寸大于或等于相机成像面的尺寸。

c、对于高精度的工业计算,第三点就很重要,就是要选择大于或等于相机分辨率(其实跟像元尺寸大小有关的,不是像素数)的镜头,这个就是镜头的解析力,一般在买镜头的时候有说明镜头是多少分辨率的。 如果对于不是高精度的视觉项目,则选择的镜头分辨率可以比相机分辨率低也可以。相机分辨率越高其价格越贵,适中即可。

            注意:上面的a中的计算公式只适合工业镜头的选型,因为其符合小孔成像原理,不用考虑其光学倍率,因为相同焦距、像面尺寸的工业镜头其在固定距离的光学倍率都是一样的;如果是那种广角、鱼鹰类的镜头则要通过另一种方式选,就是镜头的“光学倍率”,就是CCD/FOV,因为它们不符合严格的小孔成像原理,而是有更大的屈光率。

 

        镜头的好坏之分特性:畸变,一般好的镜头畸变特别小,不过多好的镜头,只要相机的分辨率特别大,在图像外框还是会有畸变存在。所以畸变率也是衡量镜头好坏的一个特性,对畸变比较敏感的工程,应当特别注意这点。分辨率,一般相机跟镜头分辨率选型要匹配。下面是一些镜头分辨率的知识点:   

       一般在对相机与镜头选型时,在分辨率匹配方面,为了方便记忆镜头与相机的匹配关系,人们常采用对应相机的分辨率来命名镜头。这种命名方式其实并不科学,同时给新接触视觉系统的人带来了很多误解,经常会机械的套用百万像素分辨率相机对应百万像素镜头,二百万像素分辨率相机对应二百万像素镜头,而五百万像素分辨率相机则对应五百万像素镜头。其实镜头与相机对应的并不是相机自身的像素分辨率(像素数),而是各自的极限空间分辨率(即传递函数MTF对应的空间截止频率)。
        按目前公开的性能指标,百万像素的镜头对应的极限空间分辨率为90线对/mm,两百万像素的镜头对应的极限空间分辨率为110线对/mm,五百万像素的镜头对应的极限空间分辨率为160线对/mm。按照相机镜头的匹配原则,镜头的极限分辨率需大于或等于相机的极限分辨率,那么百万像素镜头配合的相机的极限分辨率必须小于90线对/mm,两百万像素镜头和五百万像素镜头所配相机的原理相同。
那么怎样知道相机的极限空间分辨率呢?相机的极限空间分辨率不是由相机自身的分辨率决定,而是由相机芯片的单个像元尺寸决定。具体计算公式如下:
1/(单个像元尺寸*2),单位:线对/mm
例如,我们常用的AVT GUPPY Pro系列的F125B相机,其为130万,1/3寸CCD,其单个的像元尺寸为3.75um*3.75um.一般相机像素分辨率越大则其像元尺寸越小。则此相机极限空间分辨率为:
1mm/(3.75um*2)=133.33线对/mm
由镜头的极限空间分辨率大于相机的极限空间分辨率可知,选择五百万像素的镜头较合适。

一个镜头介绍的内容:

2.选择镜头焦距

如图所示,在已知相机CCD尺寸、工作距离(WD)和视野(FOV)的情况下,可以计算出所需镜头的焦距(f)。  

   

   

3.选择镜头光圈  

镜头的光圈大小决定图像的亮度,在拍摄高速运动物体、曝光时间很短的应用中,应该选用大光圈镜头,以提高图像亮度。  

4.选择远心镜头  

远心镜头是为纠正传统镜头的视差而特殊设计的镜头,它可以在一定的物距范围内,使得到的图像放大倍率不会随物距的变化而变化。远心镜头与传统镜头对比,如图:  


 

 

 

远心镜头又分为物方远心和双侧远心两种,如图:

 

 

1.       选择光源的角度  

根据期望的图像效果,选择不同入射角度的光源。高角度照射,图像整体较亮,适合表面不反光物体;低角度照射,图像背景为黑,特征为白,可以突出被测物轮廓及表面凹凸变化;多角度照射,图像整体效果较柔和,适合曲面物体检测;背光照射,图像效果为黑白分明的被测物轮廓,常用于尺寸测量;同轴光照射,图像效果为明亮背景上的黑色特征,用于反光厉害的平面物体检测。不同角度光源的示意图如下:  


 

1.       选择光源的颜色  

考虑光源颜色和背景颜色,使用与被测物同色系的光会使图像变亮(如:红光使红色物体更亮);使用与被测物相反色系的光会使图像变暗(如:红光使蓝色物体更暗)。  



 

不同颜色光源效果示例:

 

 彩色图 红光效果 绿光效果 蓝光效果
 
 
 
 
 
 
 
 

 
 

波长越长,穿透能力越强;波长越短,扩散能力越强。红外的穿透能力强,适合检测透光性差的物体,如棕色口服液杂质检测。紫外对表面的细微特征敏感,适合检测对比不够明显的地方,如食用油瓶上的文字检测。     

        

1.       选择光源的形状和尺寸  

主要分为圆形、方形和条形。通常情况下选用与被测物体形状相同的光源,最终光源形状以测试效果为准。光源的尺寸选择,要求保障整个视野内光线均匀,略大于视野为佳。                               

                       

2.       选择是否用漫射光源  

如被测物体表面反光,最好选用漫反射光源。多角度的漫射照明使得被测物表面整体亮度均匀,图像背景柔和,检测特征不受背景干扰

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

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

相关文章

vsftpd的安装

简介 vsftpd是一个免费的开源的ftp服务器软件; 特点 小巧轻快,安全易用,支持虚拟用户、支持带宽限制等功能; 安装 执行 yum -y install vsftpd 创建虚拟用户(注意权限问题(chmod),这个要根据情况来定) 选择在根或用户目…

halcon模板匹配测试流程

*1、创建模板(获取要做模板区域的图像) *create_shape_model (ImageReduced, 4, 0, rad(360), rad(1), none, use_polarity, 30, 10, ModelID) *2、获取形状模型---第二步(为了显示找的的模板) *get_shape_model_contours (…

企业云存储:为什么中大型企业偏爱自建私有云?

“上云?我们通常自建企业私有云。”9102年了,在云存储服务的选择上,中大型企业基本步调一致,统筹规划自建企业私有云。为什么中大型企业都偏爱自建企业私有云?一、长久的成本考量从账面上看,通常私有云初期…

ETL作业调度软件TASKCTL自定义扩展作业类型插件安装

TASKCTL批量自动化调度作业类型扩展插件的安装方法如下几种: 1、 直接覆盖法 直接覆盖法的意思就是将自定义扩展好的插件,通常是一个shell脚本,上传至后台调度核心服务上,然后修改后台任务类型的XML元素配置文件即可。 注意&#…

递归就这么简单

递归介绍 本来预算此章节是继续写快速排序的,然而编写快速排序往往是递归来写的,并且递归可能不是那么好理解,于是就有了这篇文章。 在上面提到了递归这么一个词,递归在程序语言中简单的理解是:方法自己调用自己 递归其…

阿里云RPA(机器人流程自动化)干货系列之二:认识RPA(下)

2019独角兽企业重金招聘Python工程师标准>>> 导读:本文是阿里云RPA(机器人流程自动化)干货系列之二,主要介绍了RPA的发展齐纳经和主要使用场景有哪些,目前国内外主流的RPA厂商以及RPA的未来在哪。 一、RPA的…

C# 图片的读取

//图片转成二进制public byte[] GetPictureData(string imagepath){/**/根据图片文件的路径使用文件流打开,并保存为byte[] FileStream FileStream new FileStream(imagepath, FileMode.Open);byte[] byData new byte[FileStream.Length];FileStream.Read(byData,…

SDOI2010 地精部落

题目描述 传说很久以前,大地上居住着一种神秘的生物:地精。 地精喜欢住在连绵不绝的山脉中。具体地说,一座长度为N的山脉H可分为从左到右的N段,每段有一个[b][u]独一无二[/u][/b]的高度Hi,其中Hi是1到N之间的正整数。 …

Codechef Yet another cute girl

题意大概就是让你求一下[L,R]中的约数个数是素数的数的个数。 其中1<L<R<1e12,R-L<1e6. 然后我写了两种做法&#xff0c;第一种是可以直接搞出来L-R的约数个数&#xff0c;然后直接统计一下就好了。 这个的复杂度大致是 O((R-L) * log(R-L)) 第二种就是需要先发现满…

简单弄一个-个人主页

--- 整理一下已经发表的文章 JAVA基础 java基础数据结构之-红黑树(插入)java基础数据结构之-红黑树(删除)了解一下jdk动态代理的本质了解一下cglib动态代理的本质SpringBoot源码解析 前言&#xff1a;阅读springboot源码之前&#xff0c;最好对spring源码有一定的了解&#xff…

Halocn OCR识别入门学习

一、建立OCR库 dev_close_window() read_image(Image,OCR) get_image_size(Image,Width,Hight) dev_open_window(0,0,Width,Hight,black,Window) dev_display(Image)*字符处理 rgb1_to_gray(Image,ImageGray) *鼠标画你要找的roi区域 draw_rectangle1(Window,Row1,Column1,Row…

ctsc2009 移民站选址

分析&#xff1a;非常非常好的一道题&#xff01; 首先需要对问题进行转化&#xff1a; 行列无关&#xff0c;对于行单独处理&#xff0c;对于列单独处理必然存在一个最优方案使得每一个新站与旧站重合.转化1很显然&#xff0c;对于转化2&#xff0c;是一类非常经典的“中位数问…

Jenkins 安装与使用--实例

參考了博客Jenkins master在windows上安装 Jenkins的主要功能是监视反复工作的运行&#xff0c;比如软件project的构建详细地&#xff1a; *软件的持续构建和測试 本质上提供了一个易于使用的持续集成系统。使得开发者更easy地将改变集成到project中。使得用户更easy获得一个…

后端项目搭建技术栈

Koa2&#xff1a;koa-bodyparser koa-router koa-session koa-corsTypeScript数据库&#xff1a;Mysql &#xff08;库&#xff1a;Sequelize&#xff09;表单验证库&#xff1a;Joi

C# 实体类几种深拷贝的方法——解决关于对象赋值,A=B,A改变,B也改变问题

几种常见的深拷贝方式 1、利用反射实现 public static T DeepCopyByReflection<T>(T obj) {   if (obj is string || obj.GetType().IsValueType)   return obj; object retval Activator.CreateInstance(obj.GetType());   FieldInfo[] fields obj.GetType().…

Hadoop学习之路(九)HDFS深入理解

HDFS的优点和缺点 HDFS的优点 1、可构建在廉价机器上 通过多副本提高可靠性&#xff0c;提供了容错和恢复机制 服务器节点的宕机是常态 必须理性对象 2、高容错性 数据自动保存多个副本&#xff0c;副本丢失后&#xff0c;自动恢复 HDFS的核心设计思想&#xff1a; 分散均匀…

关于Unity中的声音管理模块(专题七)

声音的要素 1: 音频文件AudioClip2: 音源AudioSource;3: 耳朵AudioListener;//全局只能有一个4: 2D/3D音频;//2D只是简单地播放声音&#xff0c;3D可以根据距离衰减音量 怎样听到声音&#xff1a; 创建一个节点&#xff0c;挂载AudioSource组件&#xff0c;AudioSource组件关联…

重启唯一的窗体实例,以及调用系统重启函数失败解决办法

1、修改Program.cs内的程序启动函数 static class Program{public static System.Threading.Mutex Instance;/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTe…

ThreadLocal可能引起的内存泄露

threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好的做法是将调用threadlocal的remove方法. 在threadlocal的生命周期中,都存在这些引用. 看下图: 实线代表强引…

codevs 1576 最长严格上升子序列

题目链接&#xff1a;http://codevs.cn/problem/1576/题目描述 Description给一个数组a1, a2 ... an&#xff0c;找到最长的上升降子序列ab1<ab2< .. <abk&#xff0c;其中b1<b2<..bk。 输出长度即可。 输入描述 Input Description第一行&#xff0c;一个整数N。…