[硬件选型] 工业相机之参数和选型_工业相机选型-程序员宅基地

技术标签: 机器视觉  工业视觉硬件  视觉硬件  

  • 博客主页:https://loewen.blog.csdn.net
  • 欢迎点赞 收藏 留言 如有错误敬请指正!
  • 本文由 丶布布原创,首发于 CSDN,转载注明出处
  • 现在的付出,都会是一种沉淀,只为让你成为更好的人


一. 相机成像原理

相机成像原理如图所示:
在这里插入图片描述
注:

  1. 当物距为无穷远时,像距等于焦距,成像在焦平面上;
  2. 当物距为无穷无与两倍焦距之间时,像距在焦距与两倍焦距之间,成缩小的实像;
  3. 当物距等于两倍焦距时,像距与物距相等,此时物像等大;
  4. 当物距小于两倍焦距并大于焦距时,像距大于两倍焦距,成放大的实像;
  5. 当物距等于焦距时,像距为无穷大,物上的光线经透镜后为平行光线,不成像;
  6. 当物距小于焦距时,像距为负值,即在物的同侧成虚像。

二. 相机参数说明

2.1 感光芯片
2.1.1 快门(控制曝光时间)

常见的电子快门的方式有全局快门(Global shutter)和卷帘快门(rolling shutter)两种:

  • 全局快门是曝光时,传感器上所有像素在同一时刻开启曝光并在同一时刻曝光结束,将物体某时刻的状态成像,对运动物体而言类似将运动物体冻结了,所以适合拍摄高速运动的物体。
  • 卷帘快门是逐行顺序开启曝光,不同行间曝光的开启时刻有个很小的延迟,所以不适合运动物体的拍摄,包括飞拍。

如果相机的曝光时间过长,就会使速度快的运动物体变模糊。对于运动物体来说,快门时间越短,所获取的图像越精确,即越不模糊但过短的曝光时间会需要光照强度大大提高,给光照技术带来很大的困难,所以应选择合适的快门时间。

2.1.2 曝光

工业相机工作过程中曝光(Exposure)是图像传感器进行感光的过程。在曝光过程中,CCD/CMOS收集光子并转换成电荷,也就是电荷的积累

曝光时间是指相机从快门打开到关闭的时间间隔,曝光时间短,电荷积累的就少;曝光结束后,CCD/CMOS通过一定的方式将电荷移出,从光曝光对照片质量的影响很大,如果曝光过度,则照片过亮,失去图像细节;如果曝光不足,则照片过暗,同样会失去图像细节。

控制曝光就是控制总的光通量,也就是曝光过程中到达CCD/CMOS表面的光子的总和。 在不过曝的前提下,增加曝光时间可以增加信噪比,使图像清晰。当然,对于很弱的信号,曝光也不能无限增加,因为随着曝光时间的增加,噪音也会积累, 曝光补偿就是增加拍摄时的曝光量。总之,曝光即曝光时间控制,控制感光元件上总的光通量。曝光越大,光通量越大。

影响曝光的因素有三个:

  • 光圈:光圈控制光线进入的通路大小。光圈越大,单位时间的光通量越大;光圈越小,单位时间的光通量越小;
  • 曝光时间:感光元件在光线射入时用来曝光的时间,也就是快门速度;
  • 增益(对应数码相机的ISO):增益一般只是在信号弱,但不想增加曝光时间的情况下使用。一般相机增益都产生很大噪音的,所以几乎不怎么用。

曝光时间(快门速度)和光圈大小一般是互补的。比如,为了获得合适的亮度,需要对两者进行联动调节,可采用降低曝光时间(高速快门)配合大光圈以得到一定亮度,同样也可采用增大曝光时间(低速快门)配合小光圈来获得同样的亮度。

2.1.3 增益

增益一般只是在信号弱,但不想增加曝光时间的情况下使用,一般相机增益都产生很大噪音。曝光时间短,CCD/CMOS上电荷的积累就少,这时候就需要增益加强;反之,增益要减弱。

在这里插入图片描述
总结:增益控制感光灵敏度,高增益代表高灵敏度,对低光照越灵敏,可以增加昏暗图像的亮度和对比度,提高成像质量。但同时也会对噪声进行发大,降低信噪比。

2.1.4 感光芯片类型(CCD和CMOS芯片)

CCD(电荷耦合器件)芯片和CMOS(互补金属氧化物半导体)芯片都将光信号(光子)转换成电子信号(电子)。这两种芯片的主要差异在于其底层技术设置。

如果拍摄目标是静态不动的,为了节约成本,可使用考虑CMOS相机,而如果目标是运动的,则优先考虑CCD相机。如果是需要高速采集的,这里指的高速是很高的采集速度,而非指很高的运动速度,可以考虑CMOS相机,因为CMOS的采集速度会优于CCD。如果需要高质量的图像,如进行尺寸测量,可以考虑CCD,在小尺寸的传感器里,CCD的成像质量还是要优于CMOS的。

2.1.5 感光芯片/靶面尺寸(手动计算)

描述放大倍率及镜头像面尺寸时,都会涉及到工业相机芯片,通常相机厂商用英寸来计量相机芯片尺寸,但在实际计算过程中,我们需要将芯片各边长度的单位换算成mm

因为同样标注的靶面大小,长宽比也可能会不一样,所以我们在看到相机靶面型号时,需要手动计算一下靶面的宽高:

如图:

在这里插入图片描述
如果我们不手动计算一下,可能就会将该相机的2/3”靶面按照常规尺寸:8.8mm*6.6mm计算了,但实际上通过:
感光芯片尺寸 = 分辨率 ∗ 像元尺寸 感光芯片尺寸 = 分辨率*像元尺寸 感光芯片尺寸=分辨率像元尺寸
计算得出,该相机靶面为8.45mm*7.1mm

常见相机芯片尺寸的对应关系如下(需要准确尺寸可按如上方法计算):

在这里插入图片描述

2.1.6 分辨率

相机的传感器sensor是有许多像素点按照矩阵的形式排列而成,分辨率就是以水平方向和垂直方向的像素来表示的。分辨率越高,成像后的图像像素数就越高,图像就越清晰。

例如:一个相机的分辨率是1280(H) × 1024(V),表示每行的像元数量是1280,每列的像元数量是1024,此相机的分辨率是130万像素。在对同样大小的视场成像时,分辨率越高,对细节的展示越明显。常用的工业面阵相机分辨率有:

640 *480 —— 30万像素;1280 *960 —— 130万像素;1440 *1080 —— 160万像素;
1600 *1200 —— 200万像素;1920 *1080 —— 300万像素;2590 *1940 —— 500万像素等。

对于线阵相机而言,分辨率就是传感器水平方向上的像素数,常见有1K、2K、6K等。

在相机分辨率的选型上,要根据我们的项目需求而定,并不一定是分辨率越高就越好,分辨率高带来的图像数据量就大,后期的算法处理复杂度就高,而且一般分辨率大的相机,帧率一般都不会太高。

2.1.7 像元/像素尺寸

像元尺寸就是每个像素的面积。单个像素面积小,单位面积内的像素数量多,相机的分辨率增加,有利于对细小缺陷的检测和增大检测视场。随着像素面积的缩小,满阱能力(每个像素能够储存的电荷数量)也随之减小,造成相机动态范围的降低。
像元尺寸 = 感光器芯片尺寸 / 像素个数 ( 分辨率 ) 像元尺寸 = 感光器芯片尺寸 / 像素个数(分辨率) 像元尺寸=感光器芯片尺寸/像素个数(分辨率)

例如,相机感光芯片尺寸为:5 mm x 3.7 mm,分辨率为1440 px * 1080 px,则相机的像元尺寸为(5/1440) x (3.7/1080)mm = 3.45 µm x 3.45 µm。

2.1.8 帧率

帧率是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数,简称:FPS或“赫兹”(Hz) 。相机的帧率决定着设备的测量效率,如相机的帧率是30FPS,则每秒钟最多拍摄30次。而如果相机的速度是120FPS,如果算法够快,那么每秒钟最多检测120个产品。换句话说也就是相机的帧率影响相机拍照出图的快慢,飞拍高速运行,一般需要高帧率相机。


2.2 相机数据
2.2.1 相机常用接口

GIGE千兆网接口(√):
千兆网接口的工业相机,是近几年市场应用的重点。使用方便,连接到千兆网卡上,即能正常工作。设置好巨型帧参数,可以达到更理想的效果。可多台同时使用,CPU占用率小。

USB3.0接口(√): 速度快但距离短,理论速度极限大约为500MB/s,但是其传输距离短,超过3米就要用质量很高的线,超过5米,基本就不能使用了。

USB2.0接口: 这个优点也就是成本低了,但是速度慢而且不稳定。之前用过2.0接口的相机,在Linux下运动拍摄时,没有规律的就断了,驱动和软件都检查了挺长时间, 后来猜测是端口供电和传输限制之类的问题,果然换个新配的电脑就没问题了。而且也听专业人士说过2.0相机的稳定性问题,静态拍摄应该会好一点。

Camera Link接口: 速度超快,大约是USB3.0的两倍,而且高像素下支持的帧率更快,但是要额外购买图像采集卡,基本要1w左右,成本是个问题。

2.2.2 像素位深/深度

像素深度是指每个像素用多少比特位表示。通常,每个像素的比特位数多,表达图像细节的能力强,这个像素的颜色值更加丰富、分的更细,颜色深度就更深。一般像素深度有1位、8位、16位、24位和32位。

1位像素深度就是有二进制来表示,也叫单色显示。
8位像素深度是最常见的,用8个二进制位来表示颜色,能表示256种颜色,这种就是常说的灰度显示。
16位是用16个二进制位来表示,能表示65536种颜色,这时就可以彩色显示啦。
24位和31位则表达的颜色信息就会更加的丰富。

分辨率和像素深度共同决定了图像的内参大小。例如,对于像素深度为8bit的500万像素,则整张图片应该有500万*8/1024/1024=37M(1024bit=1KB,1024KB=1M)。增加像素深度可以增强测量的精度,但同时也降低了系统的速度,并且提高了系统集成的难度(线缆增加,尺寸变大等)。

2.2.3 和镜头的接口

在选型时一定要考虑相机与镜头的接口对应问题,相机与镜头的接口必须保证一致,不然就无法安装。C型接口的后截距为17.5mm,CS型接口的后截距为12.5mm。因此CS型接口的工业相机使用C型接口镜头时需要加一个5mm的接圈。C型接口的工业相机不能用CS口的镜头。

F接口镜头是尼康镜头的接口标准,所以又称尼康口,也是工业工业相机中常用的类型,一般工业相机靶面大于1英寸时需用F口的镜头。
V接口镜头是著名的专业镜头品牌Schneider(施奈德)镜头所主要使用的标准,一般也用于工业相机靶面较大或特殊用途的镜头。

2.2.4 白平衡

平衡RGB三个通道的亮度值,使图像达到一个比较好的亮度情况,当打光不太好的时候,使用白平衡,可以改善图像亮度不均匀情况,对应halcon算子是equ_hiso_image——直方图均衡化

2.2.5 拖影

拍摄运动图像时,同一物体,在图片上重复成像的现象。

如图:

在这里插入图片描述
问:如何计算曝光时间,保证运动物体不产生拖影?

在拍摄高速运动物体的场合,选择帧曝光的相机后,还需要计算相机的曝光时间,以使图像不产生拖影,理论的计算原则是:运动物体在相机芯片上所成的像,在曝光时间内,移动的距离不超过一个像元尺寸。

练习:物体运动速度是150mm/s,沿芯片水平方向运动,相机是1/2”芯片(6.4mm×4.8mm),分辨率为1280*1024,视场水平方向长度是20mm,像元尺寸是4.8μm,计算成像时不产生拖影的曝光时间?

解答:

1)首先计算出像的运动速度:放大倍数为6.4mm/20mm=0.32,所以像的运动速度是0.32×150 mm/s=48mm/s

2)根据计算原则,(曝光时间)×48mm/s=4.8μm,所以曝光时间为0.0001s,曝光时间设置为100µs即可。

2.2.6 相机的触发方式

包括连续采集模式,软件触发(软件控制)、硬件触发(传感器/机械开关控制)。


三. 相机选型

相机的选取是设计机器视觉系统极关键的一步,首先明确需求:①检测精度(有明确要求) ②视野大小(根据待测物体的尺寸估算) ③是否飞拍(有明确要求)
  
明确需求后要确定相机型号:

1.确定相机的分辨率(通过产品检测精度要求相机观察的视野大小

例如,若单视野为5mm长,理论精度为0.02mm,则单方向分辨率=5/0.02=250。然而为增加系统稳定性,特别是测量或者表面划伤检测,一个像素有可能无法凸显特征,所以一般不会只用一个像素单位对应一个测量/观察精度值。情况允许的情况下,一般可以选择倍数4或更高。这样该相机需求单方向分辨率为1000,选用130万像素已经足够

2.相机类型的选择:对于静止检测或者一般低速的检测,优先考虑面阵相机,对于大幅面高速运动或者滚轴等运动的特殊应用考虑使用线阵相机。

3.相机帧率选择

  • 定拍(看拍照频率选择)
  • 飞拍
    根据要检测的速度,选择工业相机的帧率一定要大于或等于检测速度,等于的情况就是你处理图像的时间一定要快,一定要在相机的曝光和传输的时间内完成。根据项目需求,对于拍摄运动物体,建议选取高帧率相机,具体帧率数要根据拍摄精度来确定。一般可以根据相机资料给出的帧率值F,大致可以估计出相机的曝光时间。一般情况下,若我们的相机的帧率为15fps,则表示相机曝光时间为1/15s = 1/15 * 1000ms = 66.7ms,即曝光时间设的越长,帧率自然就下降的越厉害。
    根据:最大曝光时间 = 1/满帧频率 = 精度/运动速度,可以推出在确定检测精度的前提下,可以得到相机飞拍时能达到的最大速度。
    若要飞拍,一般需要考虑选择高帧率相机,根据检测速度,确定相机帧率

4.相机接口选择:一般用网口或USB3.0。

5.芯片类型选择:CCD工业相机主要应用在运动物体的图像提取,如贴片机机器视觉,当然随着CMOS技术的发展,许多贴片机也在选用CMOS工业相机。用在视觉自动检查的方案或行业中一般用CCD工业相机比较多。CCD采用逐个光敏输出,速度较慢,CMOS芯片的主要优势是实现极高的帧速率及几乎无损的画质。CMOS每个电荷元件都有独立的装换控制器,读出速度很快,FPS在500以上的高速相机大部分使用的都是CMOS。自2015年初开始,官方已确认CMOS技术将在未来成为主流技术。

6.相机色彩选择:如果我们要处理的是与图像颜色有关,那当然是采用彩色相机,否则建议你用黑白的,因为黑白的同样分辨率的相机,精度比彩色高1/3—1/4。假设彩色相机精度12μ,那么使用同规格黑白相机的精度可以提升至:12-12 * 1/3 ~12-12 * 1/4 = 8 ~ 9μ,这是由成像原理造成的。


四. 实战选型

1.已知客户的镜头的尺寸是1/3,接口是CS接口,视野大小为12* 10mm,要求精度0.02mm/pixel,则应该选用多大分辨率相机?
解:
(12/0.02)* (10/0.02)=30万像素,但是如果是缺陷检测通常不会只用一个像素表示一个精度,而是乘以3-4倍,即(12/0.02)3 (10/0.02)*3=480万像素。最低不少于480万像素。
注:12/0.02:表示在12这个方向,需要用多少像素表示,才能达到1个像素代表0.02mm的这样一个精度。
10/0.02:同上
通过上面的参数也可求出镜头的焦距(镜头选型参考),但注意:
①镜头的分辨率一定要大于相机的分辨率,否则镜头分辨率低了,相机分辨率是千万像素也没用。
②镜头的靶面尺寸也就是视野范围>=CCD的靶面尺寸,否则会出现黑边。
例:
在这里插入图片描述
1)镜头的靶面尺寸也就是视野范围>CCD的靶面尺寸,则显示的图像会是蓝色部分;
2)镜头的靶面尺寸也就是视野范围=CCD的靶面尺寸,则显示的图像会是红色部分;
3)镜头的靶面尺寸也就是视野范围<CCD的靶面尺寸,则显示的图像会是黄色部分(红色部分+黑边);

总结:相机的选型一般需要确定:①精度满足要求;②确定色彩要求;③曝光时间,如何拍摄运动的物体;④帧率\数据接口;⑤芯片尺寸;⑥镜头接口;⑦其他相关
 


戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43197380/article/details/90548850

智能推荐

关于电销团队负责人如何挑选外呼系统?_电销团队用的什么电销系统-程序员宅基地

文章浏览阅读1k次。外呼系统包括了外呼功能模块和管理功能模块,旨在帮助企业提升外呼效率、外呼任务管理规范性以及最终的销售转化效率。大多数企业在搭建电销团队的时候都知道应该注意提高效率,以让销售人均产出更高。其实影响人均的产出的因素有很多,如果你是电销团队的负责人,要为呼叫中心选型 ,想知道外呼系统哪家公司做得好,都有哪些优势?那么这篇文章正好可以帮到你。一、外呼功能模块其一是自动外呼,自动外呼就是凭借系统对智能语音机器人的设置,批量对外呼叫客户号码,一边自动筛选客户号码、将拨打情况分类记录,清晰明确,便于跟进,一边将接通的_电销团队用的什么电销系统

易优cms添加发布内容教程_易优cms 投稿-程序员宅基地

文章浏览阅读1.8k次。易优cms添加发布内容快速添加内容只针对文章模型、产品模型、图片模型、下载模型等列表模型有效,其他模型内容编辑修改需要到栏目更改—“内容管理”里编辑;点击发布文档—快捷发布—选择需要添加的栏目,点击下一步即可进入对应内容编辑界面,事先需要先到“管理栏目”中添加或编辑好栏目;添加产品,文档,图集等内容,均包含常规信息、SEO设置、其他设置等基本设置,产品及图集有额外的产品属性及展示图片上传等操作选项..._易优cms 投稿

基于路由和VTI虚拟接口的IPSec实现_vti xfrm-程序员宅基地

文章浏览阅读3.5k次。以下根据strongswan代码中的testing/tests/route-based/rw-shared-vti/中的测试环境,来看一下基于路由和VTI接口的安全连接。拓扑结构如下:拓扑图中使用到的设备包括:虚拟主机carol和dave,以及虚拟网关moon。虚拟主机配置carol的配置文件:/etc/swanctl/swanctl.conf,内容如下。连接home中的字段vips设置为..._vti xfrm

2019年电赛D题《简易电路特性测试仪》全过程-程序员宅基地

文章浏览阅读2.5w次,点赞74次,收藏457次。2019年全国大学生电子设计大赛D题《简易电路特性测试仪》硬件部分及故障分析_简易电路特性测试仪

大话PCIe:BAR空间和TLP_pcie核进行多个bar空间读写-程序员宅基地

文章浏览阅读2.7k次,点赞5次,收藏32次。大话PCIe:BAR空间和TLP。上一篇文章中写到每个PCIe的function都有自己的configuration space,其实就是配置寄存器了(这个当然是要有的了,不然软件要怎么玩?只不过PCIe的配置寄存器要通过tlp才能去访问)。其实PCIe设备是有自己独立的一套内部空间,不仅仅是配置空间,包括每个设备提供哪些I/O地址,memory地址。而BAR(Base Address Regis_pcie核进行多个bar空间读写

如何用简单的步骤为大量视频添加srt字幕_视频生成srt字幕-程序员宅基地

文章浏览阅读29次。随着移动互联网的高速发展,视频内容已经成为人们获取信息和娱乐的首选方式之一。但是,如何制作一部让人眼前一亮的视频呢?其中一个重要的因素就是添加字幕。字幕不仅可以帮助观众更好地理解视频内容,还可以增加视频的视觉效果和震撼力。那么,如何批量给大量视频批量添加srt字幕呢?以下是具体的操作方法!_视频生成srt字幕

随便推点

标准库`random`函数大全:探索Python中的随机数生成_random标准库函数-程序员宅基地

文章浏览阅读3.4k次,点赞36次,收藏23次。随机数在计算机科学和数据科学领域中扮演着重要角色,Python的标准库中提供了`random`模块,用于生成各种随机数。本篇博客将深入探讨`random`模块的各种函数,以及它们的应用场景和代码示例。_random标准库函数

基于Android的VoIP系统实现原理_android voip forward-程序员宅基地

文章浏览阅读4.2k次。VoIP(Voice over Internet Protocol)即首先数字化语音信号并压缩成帧,转换为IP数据包在网络上传输,以此完成语音通话的业务,是一种利用IP协议传输语音数据的、新兴的通信技术。  随着我国三网融合的推进,VoIP与IPTV(Interactive Personality TV)一起成为这一庞大工程的重要标志。而目前手机中,VoIP的解决方案并不是很多,特别是_android voip forward

XShell连接虚拟机输入命令卡顿问题解决_redhat9连接xshell连接虚拟机容易卡顿-程序员宅基地

文章浏览阅读2.3k次,点赞20次,收藏6次。第一步:打开会话管理器第二步:选中正在使用的会话,鼠标右键选择属性第三步:定位到【连接】->【ssh】->【隧道】,选择【隧道】第四步:将【转发X11连接到(X)】复选框取消掉最后一步:点击确定,重新连接图片:..._redhat9连接xshell连接虚拟机容易卡顿

如果第一次启动使用ZooKeeper时,没注意用root用户启动了,生成的zookeeper.out文件权限就会改变,如果之后再使用普通用户去启动的话就会没有权限-程序员宅基地

文章浏览阅读226次。ZooKeeper JMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfgStarting zookeeper ... /usr/local/zookeeper-3.4.13/bin/zkServer.sh: line 140: ./zookeeper.out: Permission deniedSTARTED_zookeeper.out文件

南阳理工OJ_题目91 阶乘之和_南阳理工oj91-程序员宅基地

文章浏览阅读629次。//用n从9的阶乘开始向前减 #include using namespace std;int main(){ int T; int a[] = {1, 2, 6, 24, 120, 720, 5040, 40320, 362880}; cin >> T; while(T--) { int n; cin >> n;_南阳理工oj91

B2B,B2C,C2C,C2B,B2G_c2b网站代表-程序员宅基地

文章浏览阅读2.8w次,点赞4次,收藏7次。B2B、C2C、B2C B2B:B2B(Business To Business)是指一个市场的领域的一种,是企业对企业之间的营销关系。电子商务是现代B2B marketing的一种具体主要的表现形式。它将企业内部网,通过B2B网站与客户紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而促进企业的业务发展。 B2B模型 简介 目前基于互联网的B2B_c2b网站代表

推荐文章

热门文章

相关标签