机器视觉应用中工业相机的扫描方式

简介:

工业相机是机器视觉系统中的一个关键组件,其最本质的功能就是将光信号转变成小型高清工业相机为有序的电信号。

工业相机按照扫描方式可以分为隔行扫描相机、逐行扫描相机。

大多数显示器和相机都是以隔行方式扫描,但实际上人眼看来仍然像一个平滑的图像,相机一般先获取图像的奇数行,对于CCIR标准,它在1/50秒后再获取偶数行,而对于EIA标准,在1/60秒后再获取偶数行。

绝大多数相机都是间隔式转移的,即隔行扫描(interlace),当用来拍摄运动物体时,就会出现梳状效应。为消除这种效应,可以只采集一半的图像(只使用奇数行或偶数行),如果要求完全的分辨率,必须利用逐行扫描(Progressive Scan)相机。

在机器视觉应用中,物体通常移动很快。当利用隔行扫描相机时,在两场之间可能物体都有移动,结果就会是一副模糊的图像,就像是两次曝光或者是在垂直边缘有梳状效应。为了解决这种影响,可以将隔行扫描相机设成只扫描一个场,这样垂直分辨率将会减半,而帧采集速率将会提高一倍,相机的这种操作被称为场模式,或者非隔行输出,对许多机器视觉应用都很有用。

场模式还能够提供敏感度加倍的好处,由垂直像素BINNING得到(像素BINNING是指CCD传感器的一个特殊读出模式,传感器将2个或多个像素绑定到一起锁定,从多个像素积累的电荷求和),场模式虽然可以提高帧速度、敏感性以及信噪比,但会降低分辨率,在要求对快速运动的物体完全垂直分辨率的应用中,应该使用逐行扫描相机。

机器视觉系统包括三个主要部分:工业相机、采集卡和存储并分析图像以提取信息的计算机(或图像处理器)。图像处理器和采集卡属于相对容易选择的电子装置,它们的主要参数是存储能力和处理速度。工业相机是这些系统中情况最为复杂的部分。现代的工业模拟相机和工业数字相机采用电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)芯片来捕获图像并生成电子信号发送给计算机进行处理。

对于一项应用,选择什么样的工业相机合适,取决于机器视觉系统想要达到什么目标。视觉检验、非接触式测量、物体识别和定位是三个常见的应用,每一个都有不同的要求。

相关文章
|
7月前
|
数据采集 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPISDK设置软件触发模式(C#)
Baumer工业相机堡盟工业相机如何通过NEOAPISDK设置软件触发模式(C#)
80 1
|
存储 编解码 算法
Baumer工业相机堡盟工业相机如何通过BGAPISDK的软触发实现两相机同步采集(C++)
Baumer工业相机堡盟工业相机如何通过BGAPISDK的软触发实现两相机同步采集(C++)
177 0
|
算法 安全 Linux
Baumer工业相机堡盟工业相机如何通过BGAPISDK使用AutoFocusHelper自动对焦补充功能(C++)
Baumer工业相机堡盟工业相机如何通过BGAPISDK使用AutoFocusHelper自动对焦补充功能(C++)
78 0
|
算法 计算机视觉
Baumer工业相机堡盟工业相机和工控机选型的联合测试
Baumer工业相机堡盟工业相机和工控机选型的联合测试
116 0
|
7月前
|
数据采集 开发框架 C#
Baumer工业相机堡盟工业相如何使用BGAPISDK通过两种不同的方法进行图像回调函数的使用(C#)
Baumer工业相机堡盟工业相如何使用BGAPISDK通过两种不同的方法进行图像回调函数的使用(C#)
72 0
|
存储 编解码 算法
Baumer工业相机堡盟工业相机如何通过BGAPISDK的软触发实现两相机的同步采集(C#)
Baumer工业相机堡盟工业相机如何通过BGAPISDK的软触发实现两相机的同步采集(C#)
143 0
|
编解码 监控 算法
Baumer工业相机堡盟相机如何使用Sharpening图像锐化功能( Sharpening图像锐化功能的优点和行业应用)(C++)
Baumer工业相机堡盟相机如何使用Sharpening图像锐化功能( Sharpening图像锐化功能的优点和行业应用)(C++)
77 0
|
监控 安全 开发工具
Baumer工业相机堡盟相机如何使用飞拍功能( 飞拍功能的优点和行业应用)
Baumer工业相机堡盟相机如何使用飞拍功能( 飞拍功能的优点和行业应用)
251 0
|
传感器 人工智能 监控
Baumer工业相机堡盟相机如何使用自动曝光功能(自动曝光优点和行业应用)(C++)
Baumer工业相机堡盟相机如何使用自动曝光功能(自动曝光优点和行业应用)(C++)
173 0
|
运维 监控 新能源
Baumer工业相机堡盟工业相机如何通过BGAPISDK进行定序器编程:根据每次触发信号移动感兴趣区域(C#)
Baumer工业相机堡盟工业相机如何通过BGAPISDK进行定序器编程:根据每次触发信号移动感兴趣区域(C#)
82 0