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. MySQL基础(用的贼鸡儿多)

    整理有点乱,业余也玩玩系统,经常碰见这些玩意,有点烦,老是记不住 MySQL 基础语法 一.连接 MYSQL格式: mysql -h 主机地址 -u 用户名 -p 用户密码. 1.连接到本机上的 MY ...

  2. day01计算机硬件基础

    1.cpu\内存\硬盘 2.存储器 操作系统 是什么 为什么 如何用 1.什么是编程语言: 语言是一个事物与另一个事物沟通的表达方式 编程语言即程序员与计算机沟通的介质 计算机是程序员的奴隶 2.什么 ...

  3. 「每日五分钟,玩转JVM」:线程独占区

    前言 如果我们对计算机组成有所了解,那么我们一定会知道在计算机中有一块儿特殊的区域,称之为寄存器,寄存器包括了指令寄存器和程序计数器,这两样位于CPU中,作为程序运行的大脑来控制程序的运行和流转. 而 ...

  4. 修改jdk注册表

    如果是新增jdk的话就选中java Development  kit 文件夹右击新建,然后把属性配置上就可以

  5. SparkSql学习笔记(包含IDEA编写的本地代码)

    Spark SQL and DataFrame 1.为什么要用Spark Sql 原来我们使用Hive,是将Hive Sql 转换成Map Reduce 然后提交到集群上去执行,大大简化了编写MapR ...

  6. unity编辑器扩展_02(分别在Hierarchy,Project中创建一个选项)

    在Hierarchy面板创建选项的代码: [MenuItem("GameObject/Test",false,1)]    static void Test1()    {     ...

  7. Leetcode之回溯法专题-212. 单词搜索 II(Word Search II)

    Leetcode之回溯法专题-212. 单词搜索 II(Word Search II) 给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词. 单 ...

  8. [Python] Scrapy爬虫框架入门

    说明: 本文主要学习Scrapy框架入门,介绍如何使用Scrapy框架爬取页面信息. 项目案例:爬取腾讯招聘页面 https://hr.tencent.com/position.php?&st ...

  9. Elasticsearch和solr之我为什么选择solr

    老大:这个项目需要用到搜索引擎,小李你去学习一下. 小李:喳! 小李:以前用过的搜索引擎是solr4.7,那已经是两年前使用的了不知道现在有没有更好的解决方案了呢? 小李打开了google,百度,bi ...

  10. python编写排列组合,密码生产功能

    python编写排列组合 python在编写排列组合是会用到  itertools 模块 排列 import itertools mylist = list(itertools.permutation ...