GIGE 协议摘录 —— 照相机的标准特征列表(五)

在这里插入图片描述

系列文章目录


GIGE 学习笔记
GIGE 协议摘录 —— 设备发现(一)
GIGE 协议摘录 —— GVCP 协议(二)
GIGE 协议摘录 —— GVSP 协议(三)
GIGE 协议摘录 —— 引导寄存器(四)
GIGE 协议摘录 —— 照相机的标准特征列表(五)
GIGE 协议 2.0 中文版


文章目录

  • 系列文章目录
  • 1、介绍
  • 2、GenICam™标准
  • 3、互操作性水平
  • 4、用例
    • 用例 #1:连续采集和显示
    • 用例 #2 最简单的 GigE Vision 相机
  • 5、XML 描述文件强制性特征
  • 6、宽度和高度特征
  • 7、像素格式特征
  • 8、PayloadSize 特征
  • 9、GevSCPSPacketSize
  • 10、采集模式
  • 11、采集启动
  • 12、采集停止


1、介绍

    GigE 视觉规范依赖于 GenICamTM 规范(www.genicam.org)来描述该相机支持的特性。此描述采用 XML 设备描述文件的形式,该文件涉及由 GenICam 规范的 GenApi 模块定义的语法。

在这里插入图片描述

    此 XML 文件由应用程序软件检索和解释,以枚举该设备支持的特性。XML 设备描述文件提供了设备特性和支持它的设备寄存器之间的映射。

2、GenICam™标准

    GenICam 是欧洲机器视觉协会(EMVA,www.emva.org)的标准和商标。

    GenICam 标准提供了高水平的动态,因为特征映射可以为特定的相机定制。这与 GigE 视觉引导寄存器非常不同,它强制为所有相机提供一个独特的映射。这种活力提供了一个优势,相机的特点,可以确定和描述的相机制造商。因此,这些特性的命名可以遵循制造商的命名约定。

    这种灵活性的缺点是,应用程序软件无法识别特定特性名称的含义。解决这一限制的一种方法是提供一组标准的功能名称,用于各种相机模型。这样,应用程序软件就能意识到与一个给定的特性名称相关联的含义。这些标准特征名称的定义程度可能限制相机制造商实现给定功能的自由。因此,应注意不要过度指定所有的特性。

3、互操作性水平

    一个重要的考虑因素是 GigE 视觉摄像机和应用软件之间的互操作性水平。

    当图形用户界面(GUI)简单地显示特性列表时,就实现了最简单的互操作性级别。这通常是通过一个相机配置程序来实现的。在本例中,是用户来查看并解释每个特性的含义。可以使用在线帮助(如工具提示)来解释该功能的含义。

    互操作性级别的一个问题是与特性相关联的特征的数量:

  1. 名称
  2. 表示(整数、浮点数、布尔值、枚举、…)
  3. 计量单位
  4. 行为

4、用例

用例 #1:连续采集和显示

    相机出厂时就可以实时显示合适的图像,故需执行如下步骤:

  1. 设置相机使用 GVCP
  2. 使用 GVSP 寄存器创建一个流通道
  3. 根据 XML 相机描述文件重新获取图像特征
  4. 在 PC 上分配图像内存
  5. 通过流通道启动连续采集。

步骤 1 和步骤 2 需要使用 GigE 视觉引导寄存器。

步骤 3 和步骤 5 要求使用照相机的 XML 描述文件中提供的标准特性。

步骤 4 不需要与照相机进行任何交互。

用例 #2 最简单的 GigE Vision 相机

    对于这个测试用例,我们考虑可能使用最简单的照相机。这基本上相当于一个 RS-170 模拟相机。这种类型的相机不提供任何以下功能:触发控制,曝光控制,模拟增益控制等。它只是一个基本的相机,连续获取其标称帧率。

5、XML 描述文件强制性特征

    在控制摄像机和实例化流通道所需的引导寄存器之外,所有 GigE 视觉摄像机必须在其 XML 描述文件中支持下表中提供的功能。

在这里插入图片描述
在这里插入图片描述

6、宽度和高度特征

Width and Height Features

    宽度和高度表示从相机中输出来的图像的尺寸。这基本上是从传感器中提取的感兴趣区域(AOI)的尺寸。图 29-1 显示了用于描述 AOI 的各种特性。其他特征(高Max、宽Max、OffsetY、OffsetX)被推荐使用的名称,如 “GenICam标准功能命名约定” 中定义的那样。但是只有宽度和高度是 GigE 视觉中强制要求的。

在这里插入图片描述

7、像素格式特征

PixelFormat Feature

    像素格式提供了流通道上的像素输出类型,如 GVSP 中的定义(见第240页)。

8、PayloadSize 特征

PayloadSize Feature

    表示在流通道上的有效负荷数据包中的一个块 ID,可发至其上的最大字节数。主要用于提供一种简易方法来重新获取为转移到图像流通道上的数据分配的内存大小。在数据大小可变情况下,最大可能的值(即最坏情况)必须由 PayloadSize 提供。在一个相机上,当没有附加信息添加到图像时,该值一般为图像宽度 x 高度 x 一个像素所占字节数。

9、GevSCPSPacketSize

GevSCPSPacketSize

    表示对数据进行流操作时,该特征有助于程序确定相机支持的数据包大小的值。这本质上反映了 SCPS 寄存器的 packet_size 字段,但在搜索最优的数据包大小时,还提供了关于该值范围的附加信息(最小、最大及增量值)。建议使用一个测试数据包来确认整个系统所支持的请求数据包大小。该特征仅采用区间 [46 ~ 65535] 的整数值,一个具体的相机的范围相比则可能小些。

10、采集模式

AcquisitionMode Feature

    用于在图像采集期间确定图像序列。这一般涉及在启动采集后所捕获的图像数,它能表示无中断采集或一个预定义帧数量的采集。注意这与流通道是否打开无关。该模式特征必须可读,且在其枚举表中,当该模式提供多个值时,需设置为可写。默认采集模式必须有 “Continuous” 状态。当图像停止采集后,其模式值才被改变。默认模式下,图像采集由 “AcquistionStar” 命令(启动采集)初始化,然后持续采集直到 “AcquistionStop” 命令(停止采集)被执行。

11、采集启动

AcquisitionStart Feature

    该命令使用采集模式指定的模式开始图像采集。在图像采集被初始化后,“AcquistionStop” 命令执行前,重新发送一个 “AcquistionStart” 命令不能影响图像采集状态。因此,相机必须一直保持采集活动状态。

12、采集停止

AcquisitionStop Feature

    当前帧完成后该命令可停止图像采集。

   
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

踩坑!被node-sass折磨的一天

文章目录 被node-sass折磨的一天折磨过程了解原因注意事项 被node-sass折磨的一天 折磨过程 起因是要开发一个老项目,照常拉代码、下依赖、启动三步走 依赖开始下载不对了,以为是node版本问题,寻找node-sass对应的node版本 利用nvm&#…

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包 一、Gerber文件层叠与参数设置二、装配图文件设置导出三、光绘参数设置四、Gerber孔符图、钻孔表及钻孔文件输出五、输出Gerber文件六、输出IPC网表七、导出坐标文件八、文件打包 一、Gerber文件层叠与参数设置…

安卓动画特效(帧动画、补间动画、属性动画、遮罩动画及滚动器)

本章介绍App开发中常见的动画特效技术,主要包括:如何使用帧动画实现电影播放效果,如何使用补间动画实现视图的4种基本状态变化,如何使用属性动画实现视图各种状态的动态变换效果,以及如何借助绘图层次与滚动器实现动画…

uniapp中u-input点击事件失效

当给u-input设置了disabled/readonly属性后,pc浏览器中点击事件失效,但是app/移动端h5中却仍有效 解决办法 给外边包上一个盒子设置点击事件,给input加上css属性:pointer-events:none pointer-events CSS 属性指定在什…

Web端在线Stomp服务测试与WebSocket服务测试

Stomp服务测试 支持连接、发送、订阅、接收,可设置请求头、自动重连 低配置云服务器,首次加载速度较慢,请耐心等候 预览页面:http://www.daelui.com/#/tigerlair/saas/preview/lxbho9lkzvgc 演练页面:http://www.da…

【外汇天眼】交易智慧:遵循趋势,稳中求胜

在交易中,新手往往因对未来走势的不确定性感到恐惧,从而不断要求对市场进行全面分析。这种需求反映了他们在投机心理幼稚期缺乏安全感的表现。有些勤奋的交易者甚至在做单前、持仓时和寻找出局理由时都在不断分析行情。然而,这种过度分析真的…

Android本地Gradle Plugin的创建以及使用

有些Gradle插件,不想放到云端,本来也只是小功能而已,还放到云端,每次修改和发布都很麻烦,这种需求的插件放到本地还是合适的。 1.直接放到build.gradle 2.新建一个module 取名叫buildSrc(注意,一定要叫这个…

【StableDiffusion】Lora 底层原理,低秩适配,Lora 如何与 checkpoint 联合发挥作用

鸣谢UP主:是花子呀 本篇博客参考视频:https://www.bilibili.com/video/BV17i421X7q7/?spm_id_from333.880.my_history.page.click&vd_source38d6ea3466db371e6c07c24eed03219b Lora 是个啥?Lora 的 缩写 Lora:Low Rank Ada…

数据库课设-中小企业工资管理系统

一、效果展示 二、后端代码 import string import random from flask import Flask, render_template, request, jsonify, redirect, session import pymysql from flask_cors import CORS import time import schedule from datetime import datetime import threading from …

国内服务器安装 Docker 服务和拉取 dockerhub 镜像

前提: 有一台海外的VPS,目的是安装dockerhub镜像.适用debian系统 1: 安装 docker-ce (国内服务器) sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/…

bfs+枚举,CF666B - World Tour

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 666B - Codeforces 二、解题报告 1、思路分析 数据量允许跑N次bfs预处理所有点的最短路,以及预处理到达每个点距离最远的3个点,以及每个点能够到达的最远的3个点 我们枚举…

第 6 章: Spring 中的 JDBC

JDBC 的全称是 Java Database Connectivity,是一套面向关系型数据库的规范。虽然数据库各有不同,但这些数据库都提供了基于 JDBC 规范实现的 JDBC 驱动。开发者只需要面向 JDBC 接口编程,就能在很大程度上规避数据库差异带来的问题。Java 应用…

康谋分享 | 自动驾驶联合仿真——功能模型接口FMI(一)

功能模型接口FMI(Functional Mock-up Interface)是一个开放且与工具解耦的标准。FMI包含了一个C-API(接口),一个用于描述接口的XML文件以及可交换的功能模型单元FMU(Functional Mock-up Unit)&a…

解读surging 的内存过高的原因

前言 对于.NET开发人员来讲,一个程序占用内存过高,是极其糟糕,是一款不合格的程序软件,.NET开发人员也不会去使用服务器垃圾收集器(ServerGarbageCollection),而是选用工作站垃圾收集器,而是对于一款低内存的程序更能给…

CP AUTOSAR标准中文文档链接索引

AUTOSAR标准的核心组件包括通信、诊断、安全等,这些组件通过模块化结构进行组织。系统被划分为多个模块,每个模块负责特定的功能。模块之间通过接口进行通信,接口定义了模块之间的交互规则。AUTOSAR标准支持模块的配置,可以根据不…

debug调试_以Pycharm为例

文章目录 作用步骤打断点调试调试窗口 作用 主要是检查逻辑错误,而非语法错误。 步骤 打断点 在需要调试的代码行前打断点,执行后会停顿在断点位置(不运行) 调试 右键“debug”,或者直接点击右上角的小虫子 调试…

8.11 矢量图层线要素单一符号使用七(爆炸线)

文章目录 前言爆炸线(Lineburst)QGis设置线符号为爆炸线(Lineburst)二次开发代码实现爆炸线(Lineburst) 总结 前言 本章介绍矢量图层线要素单一符号中爆炸线(Lineburst)的使用说明&…

kotlin之foreach跳出循环

1.创建函数跳出循环。 fun breakTest() {(0..10).forEachIndexed { index, i ->Log.d("test start index$index,i$i")if (index > 7) {return}Log.d("test end index$index,i$i")}}2.通过run语句,将会在if判断语句为true的时候跳出run代…

大模型:分本分割模型

目录 一、文本分割 二、BERT文本分割模型 三、部署模型 3.1 下载模型 3.2 安装依赖 3.3 部署模型 3.4 运行服务 四、测试模型 一、文本分割 文本分割是自然语言处理中的一项基础任务,目标是将连续的文本切分成有意义的片段,这些片段可以是句子、…

SprringCloud Gateway动态添加路由不重启

前言: 在微服务项目中,SpringCloud Gateway扮演着极为重要的角色,主要提供了路由、负载均衡、认证鉴权等功能。本文主要讲解如何实现网关的自定义动态路由配置,无需重启网关模块即可生效。 一、动态路由必要性 在微服务架构中&…