BASLER Pylon 抓取策略

( 涛哥工业技术 微信号 TaoRobotics)

One by One Grab Strategy 逐个抓取策略

当使用 one by one 抓取模式时,图像按其获取顺序处理。

  • 相机抓取引擎实例将空缓存队列中的缓存取消,并将空缓存排入低级别API流抓取器(1)。
  • 相机设备被触发(2)。相机设备获取图像,图像被传输到计算机,然后抓取到一个空的缓存中。
  • 相机抓取引擎实例线程被通知一个被填充缓存可用。此填充缓存被抓取引擎线程(3)接收,并将其放入到输出队列。
  • 在RetrieveResult () 方法中等待的应用程序线程被通知到,它停止等待抓取结果并接收填充的缓存(4)作为抓取结果数据对象的一部分。
  • 抓取结果数据对象由抓取结果智能指针保持。在应用程序处理完图像数据后,填充的缓存被返回到空缓存队列(5)。这是通过抓取结果智能指针析构器或显式释放抓取结果数据对象来完成的。返回的缓存再次用于抓取。

Latest Image Only Grab Strategy 仅抓取最新图像策略

仅抓取最新策略不同于按输出队列的大小的逐个抓取策略。输出队列的小大只有1个缓存。如果已抓取新的缓存并且输出队列中已有缓存等待,则输出队列中等待的缓存将自动返回到空缓存队列(4.1)。然后新将新填充的缓存放入到输出队列。这确保始终将最新的抓取图像提供给应用程序。自动返回到空缓存队列的图像称为跳过图像。

Latest Images Strategy 最新图像策略

最新图像策略扩展了上述两个策略。它允许用户通过设定 CInstantCamera::OutputQueueSize 来调整输出队列的大小。如果已获取新缓存且输出队列已满,则输出队列中等待的第一个缓存将自动返回到空缓存队列(4.1)。然后将新填充的缓存放入到输出队列。这确保始终为应用程序提供最新的抓取图像。自动返回到空缓存队列的图像称为跳过图像。将输出队列大小设置为1时,此策略等同于仅抓取最新图像策略。将输出队列大小设置为 CInstantCamera::MaxNumBuffer 时,此策略等同于逐个抓取策略。

Upcoming Image Grab Strategy 即将到来的图像抓取策略

即将到来的图像抓取策略可用于确保获取在调用 RetrieveResult() 之后抓取的图像。

  • 在调用 RetrieveResult() 之前,低级API流抓取器不会接收空缓存。当应用程序调用 RetrieveResult() (1)时,1个空缓存从空缓存队列中取消,然后将空缓存传递给低级API流抓取器(2)。
  • 相机设备被触发(3)。相机设备获取图像,将其传输到计算机并抓入此空缓存。
  • 现在此填充的空缓存作为抓取结果智能指针(4)(1)所持有的抓取结果数据对象的一部分返回。
  • 应用程序处理完图像数据后,填充的缓存将返回空缓存队列(5)。这是通过抓取结果智能指针析构器或者显式释放抓取结果数据对象来完成的。如果 RetrieveResult() 超时,则将空缓存返回到空缓存队列。

BASLER Pylon 抓取策略的更多相关文章

  1. Hibernate之加载策略(延迟加载与即时加载)和抓取策略(fetch)

    假设现在有Book和Category两张表,表的关系为双向的一对多,表结构如下: 假设现在我想查询id为2的那本书的书名,使用session.get(...)方法: Session session=H ...

  2. 【Java EE 学习 48】【Hibernate学习第五天】【抓取策略】【二级缓存】【HQL】

    一.抓取策略. 1.hibernate中提供了三种抓取策略. (1)连接抓取(Join Fetch):这种抓取方式是默认的抓取方式.使用这种抓取方式hibernate会在select中内连接的方式获取 ...

  3. Hibernate 抓取策略fetch-1 (select join subselect)

    原文 :http://4045060.blog.51cto.com/4035060/1088025 部分参考:http://www.cnblogs.com/rongxh7/archive/2010/0 ...

  4. 【Hibernate 8】Hibernate的调优方法:抓取策略

    在上一篇博客中,介绍了Hibernate的缓存机制.合理的配置缓存,可以极大程度上优化Hibernate的性能.这篇博客,介绍另外一个调优方式:抓取策略. 一.什么是抓取策略 抓取策略(fetchin ...

  5. Hibernate 性能优化之抓取策略

    fetch 抓取策略 前提条件:必须是一个对象操作其关联对象. 1. 根据一的一方加载多的一方,在一的一方集合中,有三个值:join/select/subselect 2.根据多的一方加载一的一方, ...

  6. 029 hibernate抓取策略

    实例A引用实例B,B如果是代理的话(比如多对一关联中):如果遍历A的查询结果集(假设有10条记录),在遍历A的时候,访问B变量,将会导致n次查询语句的发出!这个时候,如果在B一端的class上配置ba ...

  7. Hibernate中的多表查询及抓取策略

    1.Hibernate中的多表查询 1.1SQL中的多表查询 [交叉连接] select * from A,B; [内连接] 显示内连接:inner join(inner 可以省略) Select * ...

  8. Hibernate框架笔记04HQL_QBC查询详解_抓取策略优化机制

    目录 1. Hibernate的查询方式 1.1 方式一:OID查询 1.2 方式二:对象导航查询 1.3 方式三:HQL方式 1.4 方式四:QBC查询 1.5 方式五:SQL查询 2. 环境搭建 ...

  9. Hibernate(十四)抓取策略

    抓取策略: 抓取策略是当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略.Hibernate的抓取策略是Hibernate提升性能的一 ...

随机推荐

  1. python3.6.6在CentOS7上的安装

    Python官网:https://www.python.org/ 下载指定版本的软件包: [root@General data]# yum clean all  &&  yum rep ...

  2. 图数据库 Nebula Graph 的数据模型和系统架构设计

    Nebula Graph:一个开源的分布式图数据库.作为唯一能够存储万亿个带属性的节点和边的在线图数据库,Nebula Graph 不仅能够在高并发场景下满足毫秒级的低时延查询要求,而且能够提供极高的 ...

  3. vim文件时,误用了ctrl+z命令,该怎么办?

    linux中,当正在使用vim命令编辑文件,退出时,如果误使用了 ctrl+z ,当前目录中会多一个隐藏文件. 比如我正在编辑 t.txt 文件时,误以为我之前使用的是 tail 命令,直接使用 ct ...

  4. react antd 关于selectedRows 的问题

    在table中,经常会用到单选和多选的功.这里会有一个方法, 当触发onchange的时候回有两个数组,[selectedRowKeys, selectedRows],当前选中的keys和每一项, 这 ...

  5. python爬取豆瓣首页热门栏目详细流程

    记录一下爬取豆瓣热门专栏的经过,通过这篇文章,你能学会requests,HTMLParser,json的基本使用,以及爬取网页内容的基本思路. 使用模块 1,获取豆瓣首页代码:首先我们需要访问豆瓣页面 ...

  6. TextCNN 代码详解(附测试数据集以及GitHub 地址)

    前言:本篇是TextCNN系列的第三篇,分享TextCNN的优化经验 前两篇可见: 文本分类算法TextCNN原理详解(一) 一.textCNN 整体框架 1. 模型架构 图一:textCNN 模型结 ...

  7. Oracle - Tables

    创建表 a: Sql语句创建 -- Create table create table Table_Name ( 字段1 VARCHAR2(50), 字段2 VARCHAR2(50) not null ...

  8. NLP(十二)指代消解

    代词是用来代替重复出现的名词 例句: 1.Ravi is a boy. He often donates money to the poor. 先出现主语,后出现代词,所以流动的方向从左到右,这类句子 ...

  9. MySQL 数据库出现导入xls数据出现1062主从错误错误问题解决方案

    今天把xls数据表导入MySQL数据库时发现出现1062错误    ,并且有20-700条数据一直导入不了所以开始找解决方案. 解决方案1:   数据库表设计问题导致相同字段的重复数据不能导入   解 ...

  10. FastJson格式化Request对象导致的一次异常思考

    一.问题描述: 近期,在环境中出现一个阻塞性的异常“nested exception is java.lang.IllegalStateException: It is illegal to call ...