工业相机成像原理

news/2024/11/20 7:14:37/

镜头的成像原理主要是因为小孔成像,作为机器视觉系统中的重要组件,镜头和工业相机同样重要,但是工业相机的成像原理是什么呢?我会在这一篇中诉说清楚。

01 CCD和CMOS

从感光芯片的角度来分,有CCD相机和CMOS相机,这两种分别是电荷耦合器件和互补金属氧化物半导体的缩写。

CCD

在感光像点接受光照之后,感光元件产生对应的电流,电流大小与光强有关,因此感光元件之间输出对的电信号是模拟的。在CCD工业相机传感器中,每一个感光元件都不对此作进一步的处理,而是将它直接输出到下一个寄存器,结合该元件生成的模拟信号输出给第三个寄存器,以次类推,知道结合后面一个寄存器后,才能形成统一的输出。CCD提供很好的图像质量、抗噪能力和相机设计时的灵活性。尽管由于增加了外部电路使得系统的尺寸变大,复杂性提高,但在电路设计时可更加灵活,可以尽可能的提升CCD相机的某些特别关注的性能。CCD更适合于对相机性能要求非常高而对成本控制不太严格的应用领域,如天文,高清晰度的医疗X光影像、和其他需要长时间曝光,对图像噪声要求严格的科学应用。

CCD
CCD原理图

CMOS

CMOS传感器中每一个感光元件都直接整合了放大器和模数转换逻辑,当感光二极管接受光照、产生模拟的电信号之后,电信号首先被该感光元件中的放大器放大,然后直接转换成对应的数字信号。换句话说,在CMOS传感器中,每一个感光元件都可产生的数字输出,所得数字信号合并之后被直接送交DSP芯片处理,问题恰恰是发生在这里,CMOS感光元件中的放大器属于模拟器件,无法保证每个像点的放大率都保持严格一致,致使放大后的图像数据无法代表拍摄物体的原貌—体现在后面的输出结果上,就是图像中出现大量的噪声,品质明显低于CCD传感器。但是,对于一般的精度要求,还是可以满足的。在集成电路领域中,CMOS采用的工艺是最基本的工艺,工艺相对来说不复杂,所以成本也不高,光电灵敏度较高等优点。它的一些性能参数也在不断被优化,应用也越来越广,总体来说,CMOS 的性价比还是较高的。

CMOS
CMOS原理图

上面说了很多,其实可以这样简单认为:

  • CCD传感器是一种电荷传输装置,通过逐行读取像素点的光信号,并将信号转化为电荷信号存储在暂存器中,最后再将电荷转换为数字信号输出。CCD传感器的优点是低噪声、高灵敏度、高动态范围,适用于对图像质量要求较高的场合。
  • CMOS传感器采用的是并行读取像素点的光信号,并将信号转化为数字信号输出。CMOS传感器的优点是低功耗、成本低、集成度高,适用于对成本和功耗有限制的场合。

目前,CCD在性能方面仍然要优于CMOS。但随着CMOS图像传感器技术的不断进步,在其本身具备的集成性、低功耗、低成本的优势基础上,噪声与敏感度方面有了很大的提升,与CDD之间的距离在不断缩小。

02 黑白相机和彩色相机

区别很明显,有人可能认为这么简单还有必要讲吗?但简单的地方在于区分,而不在于原理。这里以CCD为例。

黑白相机成像原理

黑白相机最好理解了,当光线照射到感光芯片时,光子信号会转化为电子信号由于光子的数量与电子的数量成比例,主要统计出电子数目能够形成反应光线强弱的黑白图像。经过相机内部的微处理器处理,输出就是一幅数字图像。在黑白相机中,光的颜色信息是没有被保留。

黑白相机成像

彩色相机成像原理

为了获得彩色图像,通常使用三棱镜或滤光片的方法采集颜色信息。

三棱镜模式:采用三棱镜将射入的光分成三束,每束光都由不同的内置光栅来过滤出某一种三原色,然后使用三块CCD分别感光。然后再将这三张图像合成一张高分辨率、色彩精确的图像。由于该方法需要三块感光芯片,造价比较昂贵。

彩色相机成像

如果考虑到价格,Bayer提出了一种廉价的折中方案:只用一块图像传感器,就解决了颜色的识别。他的做法是在图像传感器前面,设置一个滤光片,上面布满了滤光点,与下层的像素一一对应。如下图,Bayer滤光片上的滤光点的排列是有规律的:每个绿点的四周,分布着2个红点、2个蓝点、4个绿点。由于人眼对绿色最为敏感,所以绿色是红、蓝的两倍。由于每个滤光点只能通过红、绿、蓝之中的一种颜色,但是在输出时,所有像素都应该有这三种颜色的信息,被滤除的两种颜色分量值在后期的算法处理中通过插值法来补回。

Bayer滤光片的方法显著优点在于它能节省成本,当前绝大多数彩色相机都采用此项技术。不过,黑白相机采集的是所有波长的光子,而Bayer彩色相机仅接受RGB三个波段的光子,并且会做一个去马赛克的邻域平均操作,因此无论是光通量还是细节表现均弱于灰度相机,

这里也可以看见再相同的环境下,如果颜色并不作为检验需求,工业相机一般选择黑白相机,同样的分辨率下,在上面的黑白相机所拍摄的图片中所包含的信息更精确。 

03 面阵相机与线阵相机

工业相机根据像元的排列方式可分为线阵相机和面阵相机,线阵、面阵相机都有各自的优点和缺点,适用于不同应用环境。

面阵相机与线阵相机

面阵相机

上面我们所说的相机均属于面阵相机,以面为单位进行图像采集,可以直接获得完整的二维图像信息。相机像素是指这个相机总共有多少个感光晶片,通常用万个为单位表示,以矩阵排列,例如3百万像素、2百万像素、百万像素、40万像素。百万像素相机的像素矩阵为W*H=1000*1000。相机分辨率,指一个像素表示实际物体的大小,用um*um表示。数值越小,分辨率越高。


线阵相机

线阵相机是一类特殊的视觉机器。与面阵相机相比,它以“线”为单位,虽然也是二维图形,但长度较长,而宽度却只有几个像素。它的传感器只有一行感光元素,因此使高扫描频率和高分辨率成为可能。线阵相机的典型应用领域是检测连续的材料,如采集匀速直线运动金属、纤维等材料的图像。被检测的物体通常匀速运动 , 利用一台或多台相机对其逐行连续扫描 , 以达到对其整个表面均匀检测。可以对其图象一行一行进行处理 , 或者对由多行组成的面阵图象进行处理。另外线阵相机非常适合测量场合,这要归功于传感器的高分辨率 。

实际需求:

线阵相机的传感器只有一行感光元素,虽然面阵相机的像元总数较多,但分布到每一行的像素单元却少于线阵相机,因此面阵相机的分辨率和扫描频率一般低于线阵相机。面阵相机可以用于面积、形状、位置测量或表面质量检测等,直接获取二维图形能一定程度上减少图像处理算法的复杂度。在实际的工程应用当中,需要根据工程需求选择。

工业相机成像原理

总的来说,被检物品反射光线,经过工业镜头折射在感光传感器上(CCD或者CMOS)会产生模拟的电流信号,此信号经过模数转换器转换至数字信号,然后传递给图像处理器,得到图像,然后通过通信接口,传入计算机中,以方便后续图像处理分析。

参考文章

工业相机的成像原理是什么?-普密斯

Stereo Matching With Color and Monochrome Cameras in Low-Light Conditions (cv-foundation.org)

(7条消息) 机器视觉硬件选型——相机、镜头、光源_机器视觉系统硬件结构需要满足什么条件_量子孤岛的博客-CSDN博客

一文了解“工业相机”_图像 (sohu.com)

(6条消息) 工业相机原理详述_工业相机工作原理_智能算法的博客-CSDN博客

机器视觉系统硬件(1):工业相机 - 知乎 (zhihu.com)


http://www.ppmy.cn/news/37716.html

相关文章

阿里云5、6代云服务器实例免费升级至第7代(不限次数)

简介: 阿里云推出云服务器实例免费升级至第7代优惠活动,第5、6代云服务器,可享受实例部分免费升级至第7代实例,让你的云服务器拥有更高的安全、存储、网络等性能。 阿里云服务器升级有优惠吗?当然是有的&am…

【0181】PG内核通过pg_hba.conf完成客户端认证(2)

文章目录 1. 回顾2. 读取文件所有token2.1 每行内容最大长度限制2.2 移除缓冲区buf中的换行符2.3 解析rawline中所有的字段2.3.1 从一行中标记HBA字段2.3.1.1 从*lineptr获取一个token2.3.1.1.1 忽略token前的所有空格和逗号2.3.1.1.2 token中不返回终止逗号2.3.1.1.3 取消toke…

android:手搓一个即时消息聊天框(包含消息记录)

先看一下效果 1.后端 要实现这个,先说一下后端要实现的接口 1.创建会话id 传入“发送id”和“接收id”给服务端,服务端去创建“会话id” 比如 get请求:http://xxxx:8110/picasso/createSession?fromUserId1&toUserId2 返回seesionId…

Python 自动化指南(繁琐工作自动化)第二版:十一、调试

原文:https://automatetheboringstuff.com/2e/chapter11/ 既然你已经知道了足够多的知识来编写更复杂的程序,你可能会开始发现其中不那么简单的错误。这一章介绍了一些工具和技术,用于查找程序中错误的根本原因,帮助您更快、更省力…

2021年05月软件设计师全套真题精讲

请点击↑关注、收藏,本博客免费为你获取精彩知识分享!有惊喜哟!! 1. 在 CPU 中,用( )给出将要执行的下一条指令在内存中的地址。 A.程序计数器 B.指令寄存器 C.主存地址寄存器 D.状态条件寄存…

vue按需引入

在main.js中 import Vue.use()中 写入组件名称 Pagination, Dialog, Autocomplete, Dropdown, DropdownMenu, DropdownItem, Menu, Submenu, MenuItem, MenuItemGroup, Input, InputNumber, Radio, RadioGroup, RadioButton, Checkbox, Checkb…

技术宅小伙:女程序员的日常穿搭分享

我想跟大家分享一下我上班时的日常穿搭,更多细节可以在这篇文章里找到。 首先,我要解释一下我上班之前的状态。我一般都会选择穿得舒适一点,因为整天坐在电脑前很累。我上班的时候,我的整体穿搭包括帽子和一个我已经用了两年的帆…

Zookeeper和Redis分布式锁对比

1、什么是分布式锁 锁,解决的是多线程或多进程情况下的数据一致性问题;分布式锁,解决的是分布式集群下的数据一致性问题。 为了保证一个方法或属性在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下&…