【工控】线扫相机小结 第一篇

背景简介

我目前接触到的线扫相机有两种形式:

无采集卡,数据通过网线传输。
配备采集卡,使用PCIe接口。

第一种形式的数据通过网线传输,速度较慢,因此扫描和生成图像的速度都较慢,参数设置主要集中在相机本身。第二种形式的相机配备采集卡,通常速度更快,但由于相机和采集卡都需要配置,操作相对复杂。

在采集卡中,我遇到过两种连接方式:光口和Camera Link。这两种方式的速度更快,但由于需要配置卡和相机,容易出现配置混乱的情况。这次,我以海康的光口相机为例,介绍一些实际应用中的经验(实战为主,理解不一定正确,请各位斧正!)

基础描述

与面阵相机不同,线扫相机每次只能捕捉一行像素,因此需要移动多次扫描,才能构成完整的一帧图像。线扫相机通常配备编码器,实时反馈被观察物体或相机的移动情况。物体的移动会触发编码器发出脉冲,每个脉冲都会触发相机拍摄一行像素的图像。随着物体继续运动,编码器发出更多的脉冲,线扫相机会生成多行像素的图像,最终形成完整的一帧图像。

上面这对话设计到很多的概念,我们根据海康的一款光口相机,一个个的讲。

关于图像的畸变。

线扫相机经常会遇到,图片被拉长或者压瘪, 如何避免这种情况呢?
首先,一个脉冲的触发,意味着物体移动了相应的距离(物体移动触发编码器旋转产生脉冲)。
如果一个脉冲对应距离的大小和一个像素的高度相等,那么图片就会显示正常,会被被拉长或者压瘪

由于一个脉冲对应的距离通常不可能恰好等于一个像素的高度,线扫相机会提供一个分频器(Frequency Divider)。分频器通常设置编码器为信号源,对编码器的脉冲信号进行分配,以确保一个脉冲对应的移动距离与一个像素的高度相等,从而生成正常比例的图像。
在这里插入图片描述
这里我设置了100的分频,图像几乎就是正常的了。(ps: 这里我设置的是相机的参数,而非采集卡的参数,后面会详细介绍。)

帧扫描,行扫描,帧触发,行触发

首先要意识到,扫描和触发是不同的概念。网络上介绍触发的很多,但是没有谈及到扫描这个概念。
在海康的相机配置中这些 ‘概念’ 就有对应的配置,如果不能分清楚这些概念,就会在繁杂的配置中迷失。
采集卡的配置界面
相机的配置界面
我们用的这款光口相机,是卡+相机的模式。 所以对应两个配置界面。
这次编码器的信号是通过相机的电源接口接入的,所以触发的相关设置都是在相机界面进行设置的。
相机的电源接口
在,采集卡的配制中有个相机类型选择,可以选择,帧扫描,和行扫描。
在这里插入图片描述
说明这里采集的配置,是根据相机那边的选择来的,需要和相机的扫描模式保持一致。
在这里插入图片描述


行扫描和帧扫描的区别

1. 行扫描(Line Scanning)

  • 工作原理: 行扫描相机每次只捕获一行像素的数据。由于只捕捉一行数据,相机会迅速地将这行数据传输出来。这意味着在行扫描模式下,每扫描一行,数据就会立刻生成和传输。

  • 成像特点:

    • 逐行成像: 每一行的像素数据在扫描后会立即处理和传输,整个图像的形成是通过连续的多行数据拼接而成的。最终的图像是通过一系列的行数据累积拼接而来。
    • 实时性高: 由于每行数据都即时传输和处理,行扫描在物体移动时能够快速响应,适合高速检测场景。

2. 帧扫描(Frame Scanning)

  • 工作原理: 帧扫描相机会在一个曝光周期内捕获整个图像传感器上的所有像素数据。这意味着整个图像数据是在一次完整的扫描周期(帧周期)结束后生成的。

  • 成像特点:

    • 整帧成像: 图像只有在一帧扫描完成后才会形成,这一过程中相机会同时捕捉所有像素的信息,并在整个帧曝光结束后才将图像传输和处理。
    • 处理延迟: 因为需要等待整个帧的曝光和扫描过程,帧扫描的成像在时间上相对较长,通常适用于静止或缓慢运动的物体。

总结对比:

  • 行扫描: 每扫描一行就立即生成和传输数据,图像的形成是逐行进行的,适合需要快速成像和处理的应用场景。

  • 帧扫描: 只有在一帧曝光完成后,整个图像才会生成并传输,适合静态或缓慢变化的场景。

所以,行扫描是逐行生成图像的,而帧扫描是在完整帧曝光后才生成图像。这两个成像方式根据不同的应用需求,分别适用于不同的场景。

====================================================

回到配置上,可以看出, 行扫描帧扫描 是两个互斥的选择。如果你选择的帧扫描就不可以选择行扫描。
互斥关系
从配置上,也能看出这一点,当你 打开 帧扫描的触发模式,行扫描的触发模式 就会自动 关闭。反之亦然。

行触发 和 帧触发

行扫描帧扫描 是互斥的关系,而 行触发帧触发 是并列的关系。
这里配置项,触发器选择器就是选择: 行触发帧触发
当你选择了 帧扫描 之后, 你就必须同时配置: 行触发帧触发
但是,如果你选择了行扫描, 你就只能设置行触发


行触发(Line Trigger)和帧触发(Frame Trigger)是控制相机两种的触发模式。

1. 行触发(Line Trigger)

定义:
  • 行触发模式是指每当收到一个外部触发信号时,相机捕捉一行图像数据。通常用于线扫相机的行扫描模式。
工作原理:
  • 相机接收到触发信号后,仅捕捉当前行的图像数据。下一个触发信号到来时,捕捉下一行图像数据。
  • 在高速传送带或其他移动物体检测中,行触发信号通常来自于编码器或其他运动控制设备,确保每行图像数据对应物体的精确位置。

2. 帧触发(Frame Trigger)

定义:
  • 帧触发模式是指每当收到一个外部触发信号时,相机开始捕捉一整帧图像数据。
工作原理:
  • 相机接收到触发信号后,启动一次完整的图像采集过程,捕捉整个图像帧。相当于是行触发之前的有效信号!
应用场景:
  • 事件驱动图像采集: 适用于在特定事件或条件(如物体到达某个位置)下触发图像采集的场景。常见于生产线检测,当物体到达特定位置时,触发相机捕捉完整的图像。

对比总结

  • 行触发:

    • 触发级别: 每个触发信号捕捉一行图像数据。
  • 帧触发:

    • 触发级别: 每个触发信号捕捉一整帧图像。

行触发和帧触发就像是两道开关,第一道是帧触发,此时行触发信号变的有效。
如果帧触发模式关闭,那么任何任何时候的行触发信号就都将有效!

====================================================

总体配置总结(帧扫描 )

扫描设置

在这次的项目中,我选择的是,帧扫描 的方式,因为我是扫描是一个静态的比较长的物体。而不需要实时的动态的更新图像。
所以,我在采集卡配置界面中,相机类型选项,选择了帧扫描
在相机配置界面中,扫描类型,选择了帧扫描

触发设置

触发器选择器,先选择: 行开始/行触发

在这里插入图片描述
这里触发源选择了分频器,而没有直接选择编码器, 是为了图像不会畸变(上面章节提到了)。
在这里插入图片描述
分频器的输入源就是编码器!

触发器选择器 再选择: 帧触发

在这里插入图片描述
帧触发,选择通过软件发命令的方式触发。

高度设置

既然选择了帧扫描,那么就必须告诉相机,多少行构成一帧数据。
在这里插入图片描述
比如,我这里将高度设置成了8000,就是扫描了8000行的时候就会出图,不足8000行之前,都不会有图片输出。

出图过程梳理

首先,我使用帧触发(这里采用了软触发的方式),告诉相机从此时开始,关注编码器的信号。
编码器产生的脉冲通过变频器变频,从而产生行触发信号,行触发信号会触发线扫相机拍照。
相机不停的积累,直到8000行数据到位,产生一帧图片数据,至此不在关注编码器信号,直到下一个帧触发信号来临!

到这里整个流程结束。 上面这一段是介绍,帧扫描的方式。
行扫描 的整个流程我也没有试过,目前没有这方面的需求,就先留给屏幕前的你来研究吧。
如果你有研究,发了博客记得踢我一下!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code bean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值