机器学习与知识发现_机器视觉学习之工业镜头--硬件知识扫盲学习_weixin_39732866的博客-程序员秘密

技术标签: 机器学习与知识发现电子书  机器学习与知识发现  机器视觉系统中相机镜头选型技巧  

今天我来介绍一下工业镜头的相关知识。在前些章节,我介绍了关于光源的知识,没看的同学可以前往观看

机器视觉学习之光源--硬件知识扫盲必看

如果工业相机没有镜头,那么Sensor感光就是一片噪点,聚焦不在物体上。镜头的作用是收集反射在物体表面的光并将其聚焦在CCD/CMOS上面。镜头就好比人的眼睛一样,人要看清楚一个物体,需要先构图聚焦到某一个物体上,晶状体相当于镜头,光线通过晶状体映射在眼球后部的视网膜上,视网膜上有很多感光细胞,此是视神经将这个信息传递给大脑,人就会感知到物体。

758737283d9e8a43d758d74c2ba4e7f5.png

人眼成像

镜头一般由光学系统和机械装置构成,有些镜头也集成了自动调光圈、自动调焦的功能,小编也在实际项目中有用过此类镜头,主要做产品的兼容,比如需要满足不同大小、不同高度的产品,提高设备的柔性。

  1. 镜头按照焦距大小可以分为长焦镜头、标准镜头、广角镜头等
  2. 按照通常可以分为安防用镜头(CCTV)、工业自动化镜头(FA)、广播级别镜头、高清系电视用镜头
  3. 机器视觉行业通常有定倍镜头、变焦镜头、远心镜头、宏镜头、高清百万像素镜头、线扫镜头、内窥镜头等等。

这些没有严格的划分界限。

44bd2d5219c798f6414e1e1fcc778933.png

镜头

  • 在这里,我主要介绍一下工业镜头的参数和如何选型。

镜头参数

焦距

  • 焦距是从镜头的中心点到焦平面上锁形成的清晰图像的距离,焦距的大小直接决定视场的大小,焦距数值小,视野大,所观察的范围也越大,焦距数值大,视角小,所观察的范围小。根据焦距是否能调节,可分为定焦镜头和变焦镜头两大类。
b110dc9f72884a796340074bfb74e83a.png

焦距和视野

光圈

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

光圈

最大兼容CCD尺寸

  • 镜头成像直径需要覆盖CCD/CMOS的芯片尺寸。如下图中所示左边为尺寸表格,右边展示了镜头尺寸小于CCD尺寸和镜头尺寸大于CCD尺寸效果,可以看到,镜头尺寸小于CCD尺寸会在图像的四个角留下黑色的边框,因为这部分已经被镜头挡住了。
17d40015a22c555c97680b27962b3276.png

Sensor大小与镜头关系

接口

  • 镜头和相机连接接口,最常用的有C、CS、F、V、T2、Leica、M43*1、M75*0.75等接口。

景深

  • 景深是指在被拍摄的物体聚焦清晰后,在物体前后一定距离内,任然可以看清楚的范围。景深随着镜头的光圈值、焦距、拍摄距离变化变化而变化。光圈越大,景深越小;光圈越小,景深越大。焦距越长,景深越小,焦距越短,景深越大;距离拍摄物体越近时,景深越小;距离拍摄物体圆时,景深越大
c4cb9323feb777512cac2a4f22b44dd8.png

景深

分辨率

  • 分辨率代表镜头记录物体细节的能力,以每毫米里面能够分清黑白对线数量为计量单位“线对/毫米”。分辨率越高的镜头成像越清晰,价格也越贵。
01eded6dd19a5fb95de46203796f57c8.png

分辨率线对

c0296baf8824ed6543758b72f76b03f6.png

典型的分辨率测试图表

工作距离

  • 镜头第一个工作表面到被测物体的距离
6cc62c7e1f5a2520c38ded7576174934.png

工作距离

视野范围

  • 相机实际拍摄到的尺寸大小,用FOV表示。

光学放大倍数

  • CCD/FOV,芯片尺寸除视野范围

后背焦

  • 准确来说,后倍焦是相机的一个参数,值相机接口平面到芯片的距离,但在线阵扫描经呕吐或者大面阵相机镜头选型时,后倍焦是一个非常重要参数,它直接影响镜头配置。

镜头选型

远心镜头

  • 在这里,我分了一下,按照实际应用来,如果是单纯的测量任务我们选择远心镜头,如果我们的产品是10*8mm大小,那么我们一般在选择的时候视野大小选择产品大小1.5~2倍左右,那么选择远心镜头倍率就可以选择0.5~0.6倍都可以,远心镜头视野就是芯片尺寸除以倍率。
efa71483888a9612671fbd8182ec35b1.png

远心镜头倍率表(图示,每个厂家都有自己产品型录)

FA镜头

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

  • 镜头接口要根据相机接口匹配或者可以加转接环匹配,镜头可以支持最大的CCD尺寸大于等于相机Sensor尺寸

选择镜头焦距

0909f4c01d393bd5b354e3af56cbf7f0.png

计算焦距图示

08ce467eaa29b9e95313dca1dc7f7c51.png

焦距计算

  • 在已知芯片尺寸、工作距(WD)和视野(FOV)的情况下,可以计算出所需要镜头的焦距f

选择镜头光圈

  • 镜头的光圈大小决定图像的亮度,在拍摄高速移动的物体这个参数尤其重要,曝光时间要求很短,需要选用大光圈镜头,以提高图像的对比度。

景深

  • 这需要根据你的应用场景来具体选择, 如果你项目情况是产品有一定高度差,需要都能够看清楚,你就需要看重这个参数了。

环境

  • 这一步可选,需要根据你的实际情况来,严格的说也不算在选择镜头里面,有些应用场景需要滤光片,把不需要的光过滤,以免影响图像质量

这是选择镜头的一般步骤。

当然,在机器视觉项目中,会根据实际项目情况选择一些其他的配件,比如使用接圈、转接环以及特殊应用可以跟生产厂家沟通定制镜头。

在实际应用中,我发现25mm/35mm的镜头使用的最广泛。

我是 机器视觉工程师,多年视觉软件开发老司机,关注我,带你视觉软件开发从入门到精通。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39732866/article/details/111038614

智能推荐

htonl(),htons(),ntohl(),ntons()--大小端模式转换函数_weixin_34310127的博客-程序员秘密

不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian)。大端模式是指高字节数据存放在低地址处,低字节数据放在高地址处。小端模式是指低字节数据存放在低地址处,高字节数据放在高地址处。在网络上传输数据时,由于数据传输的两端可能对应不同的硬件平台,采用的存储字节顺序也可能不一致,因此 TCP/IP 协议规定了在网络上必须采用网络字节...

linux sed 正则匹配字符串,正则表达式grep,sed_韩之昱的博客-程序员秘密

HTTP一个简单的网页文件service iptables stopecho “I LOVE YOU” > /var/www/html/index.html文本排序sortsort 1.txt排序规则先数字后字母,小写字母在前。sort -t “:” -k3 /etc/passwd用用户的UID排序,按字符大小。(等于tr -d f)sort -t “:” -k3 -n /etc/pass...

Mysql字段类型和Java类型的对应关系_zijikanwa的博客-程序员秘密

文章目录一. 问题复现1. mapper.xml2. dao.java3. manager.java二. 问题解答1. 原因概述2. 原因解读参考资料一. 问题复现之前操作表的时候,都自认为Mysql的bigint类型对应Java的Long类型。今天写一个查询语句返回Map,结果出现类转换异常。怀疑了好久,查了好半天,终于搞清楚是为什么了。问题现场是这样子滴…1. mapper.xml...

tablayout+viewpager联动_meng_c_的博客-程序员秘密

上面是tablayout,下面是viewpager(嵌套fragment)首先导入依赖 compile 'com.android.support:design:25.3.1'整体布局fragment_manageleft.xml,上面tablayout,下面fragment<LinearLayout xmlns:android="http://schemas.andr

mysql表空间文件大小_Mysql删除数据前后表文件大小相同_伍媚的博客-程序员秘密

一个InnoDB表包含两部分,即:表结构定义和数据。在MySQL 8.0版本以前,表结构是存在以.frm为后缀的文件里。MySQL 8.0版本允许把表结构定义放在系统数据表中。因为表结构定义占用的空间很小,所以主要讨论的是表数据。1 参数innodb_file_per_table表数据既可以存在共享表空间里,也可以是单独的文件。这个行为是由参数innodb_file_per_table控制的:设置...

怒斩获了30家互联网公司offer,工作感悟_普通网友的博客-程序员秘密

前言继续总结吧,没有面试就继续夯实自己的基础,前阵子的在面试过程中遇到的各种问题陆陆续续都会总结出来分享给大家,这次要说的也是面试中被问到的一个高频的问题,我当时其实没答好,因为很早之前是看过springboot启动过程的源码,但是时间隔得有点久了(两年多没用过springboot),所以当时也没答好。这次好好总结这部分知识。阻塞IO我们知道在调用某个函数的时候无非就是两种情况,要么马上返回,然后根据返回值进行接下来的业务处理。当在使用阻塞IO的时候,应用程序会被无情的挂起,等待内核完成操作,因为此

随便推点

PL/SQL developer设置字符集_plsqldeveloper字符集设置_深圳gg的博客-程序员秘密

开发刚找我,说执行一个SQL增量乱码了,就是一个Update而已,我查了下这张表,确实有多个字段都是问号。   SQL是在命令窗口执行的,我拿着增量执行了一下,不是乱码,判断是当初执行的PL/SQL developer客户端有编码问题,因为编码的问题需要三码合一,客户端,服务器操作系统,Oracle数据库。  查询Oracle编码:   SQL>  select userenv('la

Django项目部署_django freeze_唯美清泠的博客-程序员秘密

文章目录在开发机上的准备工作在开发机上的准备工作确认项目没有bug用开发项目的虚拟环境进入Django的项目目录,用pip freeze &gt; requirements.txt将当前环境的包导出到requirements.txt文件中,方便在部署的时候安装。将项目上传到服务器上的/srv目录下/srv :主要用来存储本机或本服务器提供的服务或数据。(用户主动生产的数据、对外提供服务...

SSH面试总结_cainiao_zhangxl的博客-程序员秘密

本文内容系收集自Internet后加以整理。1.Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件2.读取并解析映射信息,创建SessionFactory3.打开Sesssion4.创建事务Transation5.持久化操作6.提交事务7.关闭Session8.关闭SesstionFactory为什么要用:1

CSS3实现Animation动画_weixin_34342992的博客-程序员秘密

&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;title&gt;animations&lt;/title&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, ...

portainer容器同步时间_portainer时间_第99封情书°的博客-程序员秘密

portainer启动容器时间和服务器时间相差8小时的问题! services里面点击容器,点击右侧mounts 添加mount,点击应用。容器重启再去查看时间发现时间同步过来了。

页面后退键(Backspace)失效JS_js input的backspace不起作用_放开那段代码让我来的博客-程序员秘密

1、页面引用js文件--document.documentElement.onkeydown = function (evt) { var b = !!evt, oEvent = evt || window.event; if (oEvent.keyCode == 8) {//BackSpace 键 var node = b ? oEvent.target :

推荐文章

热门文章

相关标签