如果需要了解其他图像处理的文章,请移步小编的GitHub地址

  传送门:请点击我

  如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice

  VisionPro有很多的示例和算子,这里展示如何使用VisionPro,即如何搭建QuickBuild示例工程。我自己的笔记不会按照顺序一一展示出来的,也许那个文章先OK,我会先release出来的。 其中大部分的图片和步骤都是VisionPro的官方文档,我这里只是自己的学习笔记,不做任何商用。

1,QuickBuild 使用简介

  VisionPro是全球领先的计算机式视觉软件。它主要用于设置和部署视觉应用,无论是使用相机还是图像采集,只需要借助VisionPro的QuickBuild就可以执行各种功能,包括几何对象定位和检测,识别,测量和对准。

  VisionPro QuickBuild是VisionPro安装包中的一个多功能应用程序,允许我们进行原型设计和构建全面的视觉解决方案。它提供了获取图像、使用各种视觉工具进行分析以及评估对象检测质量的结果的功能。
  以下是我使用VisionPro QuickBuild后的总结:
  1. 启动QuickBuild:通过Windows开始菜单下的Cognex->Cognex VisionPro 10.0->VisionPro 10.0->QuickBuild或使用Windows桌面上的QuickBuild图标启动。
  2. 工作区概览:打开QuickBuild时,它会呈现一个未保存的工作区,用于创建新应用程序。
  3. 配置图像采集设备:在QuickBuild中,您可以配置图像采集设备或将文件(或文件目录)添加到工作区。
  4. 创建和管理ToolBlocks:您可以创建新的ToolBlock或将已保存的ToolBlock加载到工作区。
  5. 访问已保存的工作区:QuickBuild还提供对已保存的工作区和可能从Cognex网站下载的示例工作区的访问。
  6. 交互式应用程序构建器:QuickBuild允许您定义包含多个作业的应用程序。对于每个作业,您可以定义和配置图像来源,添加视觉工具,并设置结果分析逻辑。
  7. 全面的视觉工具:VisionPro以其广泛的功能性而闻名,包括从几何对象定位和检查到识别、测量和对齐,以及特定于半导体和电子行业的专业功能。
  有关使用VisionPro QuickBuild的详细说明和更多信息,请参考Cognex的支持页面及其广泛的文档。提供的资源将使你深入了解如何有效地利用QuickBuild应用程序来实现视觉解决方案。我这里只是简单的介绍,也是加深自己学习的印象。

2,QuickBuild 操作简介

  VisionPro 安装包括 QuickBuild,这是一个允许您制作原型和构建完整视觉解决方案的应用程序。您可以采集图像,使用各种视觉工具对其进行分析,并检查结果以确定被检查对象的质量。您的应用程序可以使用多个相机来响应各种触发类型,或者可以使用图像数据库。

2.1  界面介绍

  通过 Windows 开始菜单 ( Cognex->Cognex VisionPro10.1-> VisionPro 10.1-> QuickBuild ) 或 Windows 桌面上的 QuickBuild 图标。

  默认情况下,QuickBuild 会打开一个未保存的工作区来创建新应用程序,默认 QuickBuild 工作区支持带有类似方法的工作区资源管理器主页选项卡,用于检测连接的相机、查找图像数据库以及将视觉工具添加到您的应用程序:

  左侧的工作区浏览器支持启动新视觉解决方案的选项:

    注意上面的communication, 这个主要是对Cognex离散I/O硬件的点击式浏览器访问。你可以将作业的特定数据项和结果集与单个输出行连接。也可以配置系统级输出,例如作业就绪信号和系统心跳。

  QuickBuild 主页选项卡提供了类似的选项

  1. 配置图形采集设备或向此工作区域添加文件(或文件目录)

  开发视觉应用程序的第一步通常都是建立一个图像源,它可以是链接到Cognex帧捕获器的相机(一般是一些拍照,摄像的设备),也可以是图像数据库(数据库中包含在生产环境中采集到的图像)。初学者其实不必直接连接相机,可以从一些预先准备好的图片开始,测试视觉程序,熟悉之后,可以将图片源改为相机,因为相机设计到镜头,光源等知识,所以怕刚入门的人直接劝退。

  2. 创建新的ToolBlock 或将保存的 ToolBlock 加载到此工作区

  访问可以从 Cognex 网站下载的已保存工作区和示例工作区

  您可以随时取消停靠或关闭主页选项卡。要再次启用主页选项卡,请单击按钮栏中的图标:

  在开发应用程序时,您将向工作区添加更多选项卡。单击并按住一个选项卡可根据需要将其拖离工作区。

2.2 相机采集操作

  在安装VisionPro软件之前或之后,将GigE Vision相机连接到计算机。有关将 GigE Vision 相机连接到 GigE Vision Cognex 图像采集卡的详细信息,请参阅 VisionPro 文档安装程序随附的 CFG-8700 系列硬件手册。

  执行以下步骤从 GigE Vision 相机采集图像:

  1. 启动 QuickBuild 并选择工具->GigE 配置器启动 GigE Vision 配置工具

  使用配置工具为图像采集卡上的每个 GigE Vision 网络适配器以及与其相连的 GigE Vision 相机分配 IP 地址。

  该工具包括嵌入式用户文档,可在您配置 GigE 网络时为您提供指导。您必须退出应用程序才能返回 QuickBuild。

  1. 转到工作区资源管理器并单击采集中的“+”图标:

  1. 使用添加设备对话框以选择要使用的已连接相机:

  QuickBuild 打开一个用于配置采集设置的新选项卡:

  4. 使用视频格式列表以根据您将用于采集图像的相机选择视频格式,然后单击初始化采集

  QuickBuild 尝试为与此相机关联的 ToolBlock 创建先进先出 (FIFO) 采集队列并采集图像。如果成功,该选项卡会显示其他选项卡以根据需要设置其他图像采集属性:

  使用 QuickBuild 工作区为您的应用程序添加任意数量的相机。每个相机都可以与不同的视觉工具的 ToolBlock 相关联。

 

2.3  图形数据库采集操作

  QuickBuild支持从图形数据库中采集图形,您可以添加对任意数量数据库的引用,并稍后将他们分配给ToolBlock。

  1. 启动QuickBuild,导航到工作区浏览器并单击“+” 图片数据库:

  2. 使用选择图形数据库对话框选择 .cdb 或者 .idb 图像数据库。当然也可以选择各种格式的图像,比如jpg, png, jpeg, bmp等,也可以直接选择整个图像的文件夹。

  3. 工作区浏览器列出了对您添加到此 QuickBuild 应用程序的图像数据库的所有引用:

  每个图像数据库都可以与不同的视觉工具 ToolBlock 相关联。
 

2.4 添加ToolBlock

  1. 要将 ToolBlock 添加到您的 QuickBuild 应用程序,请转到工作区资源管理器并单击视觉中的“+”图标:

  2. QuickBuild 中出现一个新的 ToolBlock:

  3. 使用工作区资源管理器和工作区选项卡之间的灰色条选择此 ToolBlock 的图像源:

2.4.1. 将视觉工具添加到 ToolBlock

  1. 单击工具面板显示一个 ToolBlock,它支持视觉工具的 Toolbox 分析采集的图像:

  2. 双击视觉工具将其添加到当前 ToolBlock。将图像源拖放到任何将分析采集图像的视觉工具中:

  3. 按钮栏提供了两个按钮来执行 ToolBlock 中的所有视觉工具:

2.4.2 使用多个ToolBlock

  QuickBuild 支持在您的视觉应用程序中使用多个 ToolBlock,将一个视觉工具生成的输出图像传递给另一个 ToolBlock 以进行额外分析。

  例如,以下 ToolBlock 从固定工具获取输出图像并将其传递给第二个 ToolBlock:

  第二个 ToolBlock 可以分析固定工具的输出图像:

2.5 添加脚本

  QuickBuild 支持向任何 ToolBlock 添加脚本。ToolBlock 脚本允许您自定义和扩展 ToolBlock 包含的任何视觉工具的功能,或向视觉工具生成的结果添加额外的逻辑。
  要将脚本添加到任何 ToolBlock,请单击脚本图标:

  使用C#语言在 Microsoft.Net 下编写 ToolBlock脚本。

3 QuickBuild 用户文档简介

  您的 VisionPro 安装包括可从单个 Web 界面获取的用户文档。通过 Windows 开始菜单 ( Cognex->Cognex VisionPro10.0-> VisionPro 10.0用户文档)。
  出现用户文档的 Web 界面:

  单击任何标题将其打开。但是这里推荐使用英文文档,因为在使用的过程中,我发现英文文档比较全面,而且部分算子中文文档并没有更新。

  英文文档点击进入如下:

  比如我们要查看图像转换算子:

  

VisionPro学习笔记(6)——如何使用QuickBuild的更多相关文章

  1. VisionPro学习笔记(1)——软件介绍和基本使用

    前言 自己使用visionPro已经有段时间了,最近也一直在研究其算子的理论,为了加深印象,计划将自己的学习笔记整理在博客园,当然其官方文档对如何使用及其各种算子都有详细的介绍,所以这里的笔记仅仅为个 ...

  2. Visionpro学习笔记(壹)

    注册4年,第一次发了随笔.我的博客将主要涉及到visionPro软件的学习,labview数据采集方面的思考,c#及VS的学习 此随笔系列主要是关于VisionPro(以后简称VP)的学习及使用. 近 ...

  3. Visionpro学习笔记 :QuickBuild-Based Application Run-Once Button

    1) Creating a Run-Once Button 通过JobManager调用VisionPro文件.所有的过程放到一个Try/Catch块中. Private Sub RunOnceBut ...

  4. VisionPro学习笔记:用IEEE1394相机抓取图像

    1)找到采集卡: CogFrameGrabber1394DCAMs cameras = new CogFrameGrabber1394DCAMs(); 2)列举相连接的相机: ICogFrameGra ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  7. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  8. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  9. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  10. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

随机推荐

  1. 一款广受社区好评的 WAF

    大家好,我是 Java陈序员,我们有时会搭建一个属于自己的网站,但是自建网站很容易被收到攻击,今天给大家介绍一款简单免费好用的 WAF 网站防护工具. WAF 是 Web Application Fi ...

  2. qiankun微前端实践

    为什么要使用微前端 微前端架构具备以下几个核心价值: 技术栈无关 主框架不限制接入应用的技术栈,微应用具备完全自主权 独立开发.独立部署 微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步 ...

  3. oracle监听配置与防火墙问题

    在建好pdb容器后,需配置网络,才能从客户端连接服务器端 1.首先查看pdb容器的服务名 lsnrctl status ... Service "19cdb" has 1 inst ...

  4. C++ 转换构造函数

    在 C++ 中如果一个构造函数只有一个参数,那么这个构造函数就是转换构造函数(Converting Constructor),这个构造函数可以将参数类型转换成构造函数所在的类对应的类型. 举个例子,假 ...

  5. Appendix D. Gradle Command Line

    http://www.gradle.org/docs/current/userguide/gradle_command_line.html Appendix D. Gradle Command Lin ...

  6. Java 中 extends 与implements 的区别 ?

    一.介绍extends 与 implements 的概念 1.类与类之间的继承使用extends : 子类extends父类的属性和方法,并且进行扩展或者重写. // 父类 class Animal ...

  7. np.random.uniform()

    np.random.uniform(start,end,second) start:开始数 end:结束数 second:次数,也就是选择几次. 代码结果如下所示: import numpy as n ...

  8. np.random.beta

    numpy.random.beta(a,b,size=None) 从β分布中提取样本.β分布是狄里克莱分布的一个特例,与伽马分布有关. 在这里我们将参数(3个参数)设置为32 32 3 参数1:32次 ...

  9. 微软发布开源平台 Radius:高效构建、运行基于Dapr 云原生应用程序

    Microsoft Azure 孵化团队很高兴地宣布[1]推出一个名为 Radius 的新开放应用程序平台,该平台将应用程序置于每个开发阶段的中心,重新定义应用程序的构建.管理和理解方式.Radius ...

  10. 🎊OpenTiny Vue 3.11.0 发布:增加富文本、ColorPicker等4个新组件,迎来了贡献者大爆发!

    你好,我是 Kagol. 非常高兴跟大家宣布,2023年10月24日,OpenTiny Vue 发布了 v3.11.0 . OpenTiny 每次大版本发布,都会给大家带来一些实用的新特性,8.14 ...