线扫相机使用教程

一.线扫相机的采集原理
在现有的工业 2D 相机中,主要有两种类型的相机,面阵相机和线扫相机。这两种相机有其
各自的特点。
面阵相机:主要用于采集较小尺寸的产品,特别是长度方向较小的产品。其采集原理是通过
单次或多次曝光,最后形成一张固定分辨率的图像,其分辨率不能超过最大的分辨率,且最
大分辨率不能更改。相机采集的时候可以是静止的也可以是运动的。
线扫相机:主要是用于采集较大尺寸的产品,且产品和相机之间存在固定方向的相对运动。
由于其相机的芯片的像元只有一行(彩色为 3 行,黑白为 1 行或者 2 行,一般都不超过 3
行),因此,可以设定任意的行高,理论上可以采集行高可以“无限”,采集的图像分辨率用户
可以根据实际需要设定,这种图像的采集方式可以描述成“聚线成面”。其主要用于食品、纺
织、医药、3C、五金(卷材)、包装等行业。
在这里插入图片描述
二.线扫相机的选型
在实际项目中,怎么选择相机的型号呢?线阵相机有几个关键的参数:
幅宽:与相机扫描方向垂直的方向的视野。例如产品的宽度为 80mm,那么实际采图的时候
需要适当加大一些,可以把幅宽定位 100mm,具体以实际项目为准。
分辨率:线扫相机常用的 2K、4K、8K、16K、32K。
在这里插入图片描述
三.硬件连接
使用线阵相机采集图像的时候,一般需要连接编码器,使用编码器的输出信号作为相机采集
的行信号,编码器一般使用 5V 差分编码器,使用传感器或者 PLC 的输出信号作为帧信号,
帧信号适用于图像开始采集的信号,行信号是控制每一行的采集。
在使用相机采集图像之前,需要先连接好相机的硬件,包括相机电源、网线和 I/O。目前
HC 软件使用线扫相机(Gige 口)有两个品牌:Dalsa 和海康。这两款相机在 HC 软件使用
的时候只支持硬件外触发,因此首先需要连接好相机的电源、网线和 I/O。下面主要讲解这
两款相机的 I/O 接线。
Dalsa 线扫相机
根据 Dalsa 提供的手册中,I/O 的定义如下:
在这里插入图片描述
接线实例一:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:PNP 传感器或 PLC,信号源选择 line3
行触发信号源:5V 差分编码器,A 相接入 line1,B 相接入 line2
在这里插入图片描述
海康 2K/4K 线扫相机
根据海康用户手册,其 I/O 定义如下,对应相机型号:MV-CL021-40GM、MV-CL022-40GC
和 MV-CL042-90GM/C
在这里插入图片描述
接线实例二:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:PNP 传感器或 PLC,信号源选择 line1+,无下拉电阻
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
接线实例三:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:NPN 传感器或 PLC,信号源选择 line1+
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
接线实例四:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:NPN 传感器或 PLC,信号源选择 line2
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
接线实例五:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:PNP 传感器或 PLC,信号源选择 line2
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
海康 8K 线扫相机
根据海康用户手册,其I/O定义如下,对应相机型号:MV-CL022-91GM/C、
MV-CL042-91GM/C、MV-CL084-91GM、MV-CL086-91GC 和MV-CL024-91GM/C
在这里插入图片描述
接线实例六:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:PNP 传感器或 PLC,信号源选择 line1+,接下拉电阻 R1=4.7KΩ(若电压为
12V,R1=1KΩ)
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
接线实例七:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:PNP 传感器或 PLC,信号源选择 line1-,无下拉电阻
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
接线实例八:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:NPN 传感器或 PLC,信号源选择 line1+,接上拉电阻 R1=4.7KΩ(若电压为
12V,R1=1KΩ)
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
接线实例九:帧触发+行触发(编码器)采集,接线图如下
帧触发信号源:NPN 传感器或 PLC,信号源选择 line1+,无上拉电阻
行触发信号源:5V 差分编码器,A 相接入 line0,B 相接入 line3
在这里插入图片描述
四.客户端使用
Dalsa 客户端的使用
连接相机并配置 IP
连接好相机的电源以及触发信号并连接网线后, 由于出厂的相机的 IP 不是在工控机对应网
口的同一网段,所以再连接网线后,使用 Dalsa 的网络配置工具 Network Configuration Tool,
配置相应的 IP。操作步骤如下:
1.双击Network Configuration Tool图标,打开软件,点击右下角Scan Network,将默认ip的相机找到。然后点击找到的相机
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/02a42c43c79a4da49b21897a996d992a.png在这里插入图片描述
2. 选中相机,再点击 Divice IP Configuration,此时可看到相机的默认 IP,点击下方的
Automatic Recovery(Force IP)可临时修改相机 IP 与网卡一致。
在这里插入图片描述
3. 临时修改完 IP 后,相机显示连接正常,然后再点击图三中的第一部 Persistent IP Mode,点击后 IP 变为可编辑,根据需要修改(推荐统一 IP 网口 1 为 192.168.10.88,网口 2 为192.168.20.88,其他网口以此类推),再点击下方的 Apply 按钮,相机静态 IP 配置完成。
在这里插入图片描述
采集图像
配置好静态 IP 后,就可以关掉 IP 配置工具, 双击打开客户端Sapera CamExpert就可以连接相机了,步骤如下:

  1. 打开 CamExpert,点击 Device,展开 Linea_M4096-7um_1,再点击下方出现的相机。
    在这里插入图片描述
  2. 重要参数设置
    曝光、增益
    在这里插入图片描述行触发和帧触发
    在 Trigger Selector 中选择 Single Line Trigger(行触发)的时候,可以设置对应的行触发参数,例如 Trigger Mode 的 ON/OFF(ON 即为使用外部信号作为行触发信号,OFF即不使用外部信号作为行触发信号,以内部特定频率的信号为行触发信号),Trigger
    Source 设置对应的 I/O 作为外部信号的输入端子
    在这里插入图片描述
    在 Trigger Selector 中选择 Single Frame Trigger(帧触发)的时候,可以设置对应的帧触发参数,例如 Trigger Mode 的 ON/OFF(ON 即为使用外部信号作为帧触发信号,OFF 即不使用外部信号作为帧触发信号),Trigger Source 设置对应的 I/O 作为外部信号的输入端子
    在这里插入图片描述
    行高
    在 Image Format Controls 中 Height 对应的就是图像的行高,也就是图像的 Y 方向分辨率
    在这里插入图片描述
  3. 平场校正方法
    平场模式选择:Off-关闭;Active-打开;Calibration-设置模式。
    在这里插入图片描述
    平场未开启状态,如下图,两侧暗,中间亮
    在这里插入图片描述
    将平场模式切换到设置模式,第一个为目标值,设置到合适灰度值,如 200。第二项FPN 为暗场,第三项 PRNU 为明场
    在这里插入图片描述
    将镜头盖盖好,点击 FPN,设置好目标值后,将白纸平铺在视野范围内,点击 PNRU项,做完后切换到 Active 模式点击采集。效果如下:幅面范围内图像均匀
    在这里插入图片描述
    设置保存:
    完成平场后点击下图中的 save 保存设置
    在这里插入图片描述
  4. 调焦
    用一张画有细线的白纸放在相机视野的正中间,调节焦圈直至线条最清晰。完成调焦后
    将镜头所有螺丝都锁紧。
    在这里插入图片描述
  5. 用户参数保存
    选择 Power-up Configuration,选择 User 1,点击 Save 保存参数到账户 1,并将上电参数设置 UserSet1
    在这里插入图片描述海康客户端的使用
    海康线扫相机的连接和普通面阵相机的连接方法相同,这里就不再讲述。下面主要介绍客户
    端的部分参数。
  6. 相机常规参数
    曝光、增益:设置方式和面阵相机基本一样,此处就不再讲述。
    触发模式、行触发、编码器、频率转换器、帧触发:
    触发模式:海康线阵相机硬件触发分为 4 种模式,分别是内触发、行触发、帧触发、行触发
    +帧触发。其设置方式如下
    在这里插入图片描述
    行触发:在硬件外触发的情况下,需要设置行触发的信号源,可以通过如下方法设置
  1. Acquisition Control–>>Trigger Selector–>>Line Start
  2. Trigger Mode–>>on
  3. Trigger source–>>选择 line 中的一路或者 Encoder Module Out(编码器)或者 Frequency
    Converter(频率转换器)
    在这里插入图片描述
    编码器:使用编码器信号的时候,接受的是 AB 相的差分信号
    在这里插入图片描述
    通过 Encoder Control 实现编码器的参数设置,Encoder Source A 和 Encoder Source B 可以分别选择不同的外部信号源。
  4. Encoder Trigger Mode:设置源信号的触发方向,可选择 Any Direction(正方向或反方向均可触发)、Forward Only(正方向触发)、Backward Only(反方向触发)。
  5. Encoder Counter Mode:设置计数方向,可选择Ignore Direction(正向或方向触发均计数)、Follow Direction(正向触发时有效,Encoder Counter 参数增加,反向运动时减少)和Backward Direction(反向触发时计有效,Encoder Counter 参数增加,正向运动
    时减少)
    在这里插入图片描述
    频率转换器:使用频率转换器的时候,接受的也是编码器的信号,只不过设置了分频或者倍频的参数,海康相机是通过预除器、乘法器、分频器来实现信号的分频或者倍频。其流程如下:
    在这里插入图片描述
  6. Frequency Converter Control -->>Input Source 参数选择频率转换的信号来源,可选 Line *或 Encoder Module Out。其中 Line *需要为输入信号。
  7. Signal Alignment–>>Rising Edge(上升沿)或者 Falling Edge(下降沿)
  8. PreDivider:预除器,输入的源信号首先通过预除器处理,通过设置的整数整除,达到降低源信号频率的目的,并将处理后的信号送到乘法器。
  9. Multiplier:乘法器,预除器处理后的信号送到乘法器,乘法器将该信号频率乘以设置的整数,达到增加信号频率的目的,并将信号送到分频器。
  10. PostDivider:分频器,乘法器处理后的信号送到分频器,分频器将该信号通过设置的整数整除,降低信号频率,并将产生的信号作为相机最终的触发信号。
    在这里插入图片描述
    帧触发:在硬件外触发的情况下,需要设置帧触发的信号源,可以通过如下方法设置
  11. Acquisition Control–>>Trigger Selector–>>Frame Burst Start
  12. Trigger Mode–>>on
  13. Trigger Source–>>Line 0(根据实际情况选择)
  14. 其他参数设置方法参照面阵相机。
    在这里插入图片描述
    其他触发相关参数:
  15. 帧触发出图数:Acquisition Control–>>Acquisition Burst Frame Count;设置为 1 的时候,为单帧触发模式,大于 1 的时候为多帧触发模式。
  16. 触发响应方式:Acquisition Control–>>Trigger Activation,可以选择Rising Edge、FallingEdge、Level High、Level Low、Any Edge。
  17. 帧触发缓存:Acquisition Control–>>Trigger Cache Enable,启用此信号的时候,若第2 个触发信号第1 行图像的曝光结束时间不早于相机当前第1 个触发信号最后1 行的出图时间,则第2 个触发信号正常出图HC软件连接相机使用;若第2 个触发信号第1 行图像的曝光结束时间早于相机当前第1 个触发信号最后1行出图时间,则相机内部会做处理,将第2 个触发信号第1 行图像的曝光开始时间推迟,确保第2 个触发信号第1 行图像的曝光结束时间不早于第1 个触发信号最后1 行的出图时间。若不启用此信号,第二个触发信号直接被过滤掉,不做处理。
  18. 行触发缓存:Acquisition Control–>>Line Trigger Cache Enable
  19. 触发防抖:Digital IO Control–>> Line Debouncer Time;当设置的Debouncer 时间大于触发信号的时间时,则该触发信号被忽略。
  1. 平场矫正(PRNUC)功能
    1) 为什么要对线阵相机进行平场矫正
    线阵相机需要平场矫正(PRNUC)主要是因为获取得图像有异常,如图像边缘亮度与中心亮度不一致情况等,对于现场使用相机获取图像数据有较大影响,故而需要对线阵相机进行平场矫正操作一板情况下有以下原因需要平场矫正:
    (1) 光照不均
    (2) 镜头中心和镜头边缘响应度不一致
    (3) 成像元器件得各像元响应不一致
    (4) 固定的图像背景噪声
    如下图,图像两侧偏暗,中间亮
    在这里插入图片描述
    2) 平场矫正步骤
    (1) 在相机视野内铺一张没有折痕白纸
    (2) 调节相机参数,使图像的灰度值在120-160之间
    (3) 调节镜头,使相机采集的图像尽量模糊
    (4) Shading Selector 选择PRNUC Correction
    (5) Activate Shading 点击Execute
    (6) PRNUC Enable勾选使能
    矫正前后后的效果如下图:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/650503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git-开发命令

commit命令: 使用方式:git commit -m "commit message"含义与用途:commit命令用于将修改的内容提交到本地代码库。每次提交都会生成一个新的commit,记录了修改的内容、作者、时间等信息。commit命令常用于保存代码的版本…

Docker容器操作 Docker创建并运行Nginx、Redis

容器操作的命令如图: 容器命令 # 创建并运行一个容器,运行成功后会返回容器id docker run# 暂停,将容器挂起,内存暂存,CPU不再执行 docker pause # 恢复运行,内存恢复,CPU恢复 docker unpause#…

iText操作pdf

最近有个任务是动态的创建pdf根据获取到的内容,百度到的知识点都比较零散,官方文档想必大家也不容易看懂。下文是我做出的汇总 public class CreatePdfUtils {public static void create(){//准备File file new File("C:\\code\\base-project-back…

[力扣 Hot100]Day15 轮转数组

题目描述 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 出处 思路 好像是某一年的考研题,原地逆序后k项,再逆序前n-k项,再逆序整个数组即可。空间复杂度O(1),时间复杂度O(…

【深度学习】sdxl中的 tokenizer tokenizer_2 区别

代码仓库: https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/tree/main 截图: 为什么有两个分词器 tokenizer 和 tokenizer_2? 在仔细阅读这些代码后,我们了解到 tokenizer_2 主要是用于 refiner 模型的。 #…

12000 份发财红包封面免费送

发财红包封面又来啦 寓意新年加薪发财 两个红包封面,各6000份,共12000份 剩余额度全打光,够诚意吧 附送原图(阿里通义万相生成) 祝大家 春节快乐,新年涨薪发财 龙年行大运,万事皆如愿 使用说明 …

微信小程序(十七)自定义组件生命周期(根据状态栏自适配)

注释很详细,直接上代码 上一篇 新增内容: 1.获取手机状态栏的高度 2.验证attached可以修改数据 3.动态绑定样式数值 源码: myNav.js Component({lifetimes:{//相当于vue的created,因为无法更新数据被打入冷宫created(){},//相当于vue的mount…

Redis学习——入门篇④

Redis学习——入门篇④ 6. Redis集群(cluster)6.1 Redis集群是什么,能干什么6.2 Redis集群的槽位-分片6.2.1 槽位6.2.2 分片6.2.3 优点 6.3 slot槽位映射 分区,一般业界有 3 种解决方案6.3.1 哈希取余分区算法6.3.1.1 哈希取余分区…

JVM篇:垃圾回收

如何判断对象可以被回收 Java中对象能否被回收,是根据兑现是否被引用来决定的。如果对象被引用了,说明该对象还在使用,不允许被回收 main栈帧中demo变量存储着Demo实例对象的地址,与Demo实例对象建立了连接关系此时Demo实例对象可…

HTML/JS实现漂亮的时钟效果(附带源码)

实例代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>漂亮的时钟效果</…

wsl下安装ros2问题: Unable to locate package ros-humble-desktop 解决方案

❗ 问题 在wsl&#xff08;Ubuntu 22.04版本&#xff09;下安装ros的过程中&#xff0c;在执行命令 $ sudo apt install ros-humble-desktop一直弹出报错&#xff1a;Unable to locate package ros-humble-desktop 前面设置编码和添加源的过程中一直没有出现其他问题&#…

react mui textfield marquee 跑马灯效果实现

网上找了一圈包括stackoverflow, 也没有找到mui textfield marquee的实现方式&#xff0c;结合gpt实现了下&#xff0c;效果是&#xff0c;如果这个文字不超过textfield本身&#xff0c;则不滚动&#xff0c;否则在鼠标悬浮的时候滚动&#xff0c;并且滚动的距离应该是比较恰到…

C++ transform算法中toupper的使用

C transform算法中toupper的使用 前言 用到这样一个函数&#xff0c;将小写字符串转为大写。 // 一开始个人是这样写的&#xff0c;这样没问题 std::transform(res.begin(), res.end(), res.begin(),[](unsigned char c) { return std::toupper(c); }); // 然后&#xff0c;…

游泳耳机入耳式好,还是骨传导好?游泳听音乐最好的耳机推荐

在游泳馆或海边&#xff0c;热爱游泳的人们在水中尽情畅游&#xff0c;享受着清凉的水流和游动的乐趣。为了让游泳体验更上一层楼&#xff0c;戴上专为游泳设计的耳机成为不可或缺的一环。游泳耳机不仅防水&#xff0c;还能让你在畅游的同时&#xff0c;尽情享受高质量的音乐&a…

Android Studio离线开发环境搭建

Android Studio离线开发环境搭建 1.下载离线和解压包2.创建工程3.创建虚拟机tips 1.下载离线和解压包 下载地址 百度网盘&#xff1a;https://pan.baidu.com/s/1XBPESFOB79EMBqOhFTX7eQ?pwdx2ek 天翼网盘&#xff1a;https://cloud.189.cn/web/share?code6BJZf2uUFJ3a&#…

VMware虚拟机部署Linux Ubuntu系统

本文介绍基于VMware Workstation Pro虚拟机软件&#xff0c;配置Linux Ubuntu操作系统环境的方法。 首先&#xff0c;我们需要进行VMware Workstation Pro虚拟机软件的下载与安装。需要注意的是&#xff0c;VMware Workstation Pro软件是一个收费软件&#xff0c;而互联网中有很…

[GYCTF2020]Ezsqli1

打开环境&#xff0c;下面有个提交表单 提交1&#xff0c;2有正确的查询结果&#xff0c;3以后都显示Error Occured When Fetch Result. 题目是sql&#xff0c;应该考察的是sql注入 简单fuzz一下 发现information_schema被过滤了&#xff0c;猜测是盲注了。 测试发现只要有东…

vbs脚本(清空桌面)

VBScript是Visual Basic Script的简称&#xff0c;即 Visual Basic脚本语言&#xff0c;有时也被缩写为VBS。它是一种微软环境下的轻量级的解释型语言&#xff0c;它使用COM组件、WMI、WSH、ADSI访问系统中的元素&#xff0c;对系统进行管理。同时它又是asp动态网页默认的编程语…

OSI七层模型 | TCP/IP模型 | 网络和操作系统的联系 | 网络通信的宏观流程

文章目录 1.OSI七层模型2.TCP/IP五层(或四层)模型3.网络通信的宏观流程3.1.同网段通信3.2.跨网段通信 1.OSI七层模型 在计算机通信诞生之初&#xff0c;不同的厂商都生产自己的设备&#xff0c;都有自己的网络通讯标准&#xff0c;导致了不同厂家之间各种协议不兼容&#xff0…

(大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量

今天&#xff0c;面试了一家公司&#xff0c;什么也不说先来三道面试题做做&#xff0c;第一题。 那么&#xff0c;我们就开始做题吧&#xff0c;谁叫我们是打工人呢。 题目是这样的&#xff1a; 统计除豪车外&#xff0c;销售最差的车 车辆按批销售&#xff0c;每次销售若干…