机器视觉_HALCON_HDevelop用户指南_2.Getting Started

news2024/11/26 7:46:29

文章目录

  • 前言
  • 二、Getting Started
    • 2.1. 运行HDevelop
    • 2.2. 运行示例程序


前言

标题本来想用“开始使用”或“快速上手”,不过感觉怪怪的,干脆就叫Getting Started吧,因为许多开发手册,开始上手的那节就叫这个名字。

本文是接上一篇文的,都是HDevelop用户手册的内容,所以直接是章节二了。

二、Getting Started

2.1. 运行HDevelop

HALCON安装就不专门花章节介绍了,接下来的内容假设你已经正确安装好HALCON(在Windows下,不讨论Linux和macOS下的使用)。

开始对话框
开始对话框
开始对话框提供了:
①对HDevelop程序的快速访问
②入门材料(快速向导等)
③文档(用户指南)

若第一次使用HDevelop,建议先看“入门向导”下的内容。
关闭开始对话框按下 Esc 键即可(也可以点击右下角的关闭)。如果不小心关掉了开始对话框,可以通过HDevelop菜单中“帮助”中的启动对话框再打开。
在这里插入图片描述

上图界面中序号标注表示:
①图形窗口
②算子窗口
③程序窗口
④变量窗口
⑤菜单
⑥工具栏
⑦状态栏

用户界面
第一次打开HDevelop,看起来类似上图界面,主窗口提供了一个菜单(⑤)和一个工具栏(⑥),用于快速访问使用频繁的功能。窗口底部的状态栏(⑦)会显示一些消息和图像属性。此外,以下窗口默认也是可用的:

  1. 图形窗口
    该窗口会显示图像数据(iconic data):images、regions、XLDs。它也提供了独立的工具栏用于快速缩放和移动显示的图像,并且提供了环境菜单(鼠标右键显示的菜单栏)用于调整视觉设置。HDevelop支持任意数量的图形窗口。
  2. 算子窗口
    在该窗口中,你可以选择HALCON算子(和HDevelop程序)。所选算子的参数可以被指定,且算子也可以被执行,也可以加入到当前程序中。你也可以从该窗口中访问所选算子的在线帮助文档。
  3. 程序窗口
    该窗口显示当前程序。它提供了用户可自定义颜色的语法高亮。左侧列会显示程序的行号。小黑三角是插入光标(缩写为IC,Insert Cursor,后面会以缩写表示),它是将添加新程序行的位置。
    在这里插入图片描述

绿色箭头是程序计数器(缩写为PC,Program Counter),用于标记将要执行的下一行。你可以在当前程序的该列中添加或移除一个断点(BP,Break Point)。这将使程序暂停在用户指定的位置,以便查检查中间结果。

  1. 变量窗口
    程序变量可以在该窗口中监测。它会显示当前程序所有的变量以及值。图像变量(iconic)显示为缩略图,而控制变量显示为文本。窗口的布局可以通过双击分割线来切换至水平或者垂直布局。
    在这里插入图片描述
    也可以双击图像变量来将其显示在活动的图形窗口中。双击控制变量会打开一个监测窗口,里面有当前值的列表和统计数据。

除了上面提到的四种主要窗口,还有许多其他窗口,后面会介绍。

2.2. 运行示例程序

HALCON有大量各种应用领域的示例程序。这些程序涵盖很广,从演示HALCON或HDevelop单个功能的简单程序到完整的机器视觉解决方案。本文作为对HDevelop的介绍,推荐你尝试跑一下其中一些程序来快速适应HDevelop的工作方式。

示例程序“了解HALCON强大的功能(Explore the Power of HALCON)”,它在一个程序中演示了HALCON的许多不同功能。你可以从开始对话框中启动它。强烈推荐运行该程序以对HALCON的应用领域有个大致认识。
在这里插入图片描述
当从开始对话框加载时,“了解HALCON强大的功能”的示例程序会自动启动。在手动加载它或其他示例程序后,点击运行或按下 F5 以开始运行。

示例程序会以应用范围(application area)、工业领域(industry)、方法(method)和算子(operator)用途进行分类。一个特殊的分类“版本新信息”,根据特定版本的发布时间对示例进行分组。通过浏览这些分类,你可以快速找到你想用HALCON解决的图像处理问题的示例程序。这些程序也许会成为你所要开发的工程的基础。

浏览和加载示例程序

  • 点击 文件>浏览HDevelop示例程序
    在这里插入图片描述
    这将会打开一个示例程序浏览器。与文件浏览器(文件资源管理器)相似,它会在左侧展示一棵主题树,并在右侧展示所选主题的示例程序列表。在这里插入图片描述
    点击对应的图标或双击分类名,子主题可切换展开状态。

    • 浏览分类:点击以选中主题并显示其中的示例程序。还可以在保持 Ctrl 键按下时,点击多个分类,以选中多个主题。
    • 过滤示例程序:要减少所列出示例程序的数量,可以在 查找文本框 中输入关键字。随后,只有匹配关键字的示例程序会显示在右侧列表中。

    假设你正在寻找一个半导体行业测量的示例:
    1. 双击工业领域主题
    2. 点击子主题半导体业。半导体业的示例就会显示在右侧。
    3. 在查找文本框输入关键字
    随着你输入关键字,显示的列表在更新。现在,示例程序的列表变得很短了。你也许需要调整示例浏览框来阅读列出程序的介绍。
    4. 点击选中 measure_ic_leads.hdev
    5. 点击 打开。选中的示例程序会被加载(当然你也可以双击打开)。示例浏览器被关闭,除非你保持对话框打开。
    在这里插入图片描述
    上图是加载了示例程序后的变量窗口和程序窗口,序号标注的区域分别表示:
    ①图像变量
    ②控制变量
    ③PC
    ④当前程序
    示例程序加载后,其代码会显示在程序窗口。PC(程序计数器)被设在程序的第一个执行行(前面的注释会被忽略)。变量窗口也会被更新:窗口中会列出主程序中用到的变量,主程序最初就是当前程序。目前,变量未实例化,即它们的值是未定义的(undefined)。未定义的值用 ? 表示。

运行示例程序

  • 点击 执行>运行 或 点击工具栏中对应的按钮
    PC的下一行程序会被执行,同时PC也会移动到下一行,直到执行停止。程序执行的停止有四个原因:1)程序的最后一行已经被执行, 2)到达了一个断点, 3)遇到了HDevelop的停止指令,就像本例一样, 4)遇到了一个错误。

    执行期间,图形窗口用于可视化。变量的改变会反映在变量窗口中。程序停止执行时,状态栏上会显示执行行的行数和执行时间。
    想要继续执行程序,再次点击 执行>运行 直到到达程序的末尾。

  • 点击 重置程序执行 来将程序重置到初始状态。

  • 使用 单步跳过函数 按钮,你可以一行行执行程序,并检查每条指令的即时效果。

在这里插入图片描述
上图为基本的执行按钮,图中序号标注的四个重要按钮分别为:
①不间断执行
②单步执行(单步跳过函数)
③停止
④重置程序执行

🔺命令行开关
HDevelop支持多个命令行开关,用以修改其启动行为。你也可以在命令行添加HDevelop程序路径和文件名来直接加载它。这与不带任何参数的调用和随后的程序加载是一样的。Windows语法中,程序名也许包含环境变量,如下:
hdevelop %HALCONEXAMPLES%/hdevelop/explore_halcon.hdev

或者,你可以在完全不打开图形界面的情况下,将HDevelop程序转化为其他编程语言。使用以下命令可以获得支持的命令行开关的完整列表:
hdevelop --help

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

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

相关文章

【人工智能原理自学】LSTM网络:自然语言处理实践

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文讲解LSTM网络:自然语言处理实践,一起卷起来叭! 目录一、“RNN”二、编程实验一、“RNN” 上节课我们利用词嵌入把句子转化为词向量序列…

手把手本地搭建服务器笔记1

需要的下载的东西: vmware (百度网盘)银河麒麟镜像xshell,xftp安装vmware: 下载的包里有密钥,安装的时候就直接把密钥扔里面就好了 镜像处理: vmware左上角文件-新建虚拟机-典型,下一步 -安装程序光盘映像文件&am…

基于嵌入式物联网技术的智慧病房方案设计

文章目录前言1、要求2、系统设计3、功能模块3、系统功能模块图一、stm32控制模块原理图二、各功能模块的实现1、整个系统的基本配置2、RTOS多任务1、设计线程2、配置主函数代码3、温湿度读取模块(I2C)4、LED定时开关灯(pwm)5、按键实现报警信号6、脉搏&血氧数据读取7、UART…

【HTML】基础的入门学习

HTML 菜鸟教程 简介 一般结构&#xff1a; <!DOCTYPE html> 声明为 HTML5 文档<html> 元素是 HTML 页面的根元素<head> 元素包含了文档的元&#xff08;meta&#xff09;数据&#xff0c;如 <meta charset"utf-8"> 定义网页编码格式为 ut…

proteus仿真软件中芯片的命名规则与封装方法(详细版)

第一&#xff1a;PCB封装库命名规则 1、集成电路&#xff08;直插&#xff09; 用DIP-引脚数量尾缀来表示双列直插封装​ 尾缀有N和W两种,用来表示器件的体宽​ 为体窄的封装&#xff0c;体宽300mil,引脚间距2.54mm​ 为体宽的封装, 体宽600mil,引脚间距2.54mm​ 如&#…

11、关联数据库

文章目录11、关联数据库11.1 常规方式11.2 常规操作【尚硅谷】idea实战教程-讲师&#xff1a;宋红康 生活是属于每个人自己的感受&#xff0c;不属于任何别人的看法 11、关联数据库 11.1 常规方式 找到数据库选项&#xff1a; 添加指定数据库&#xff1a; 配置MySQL数据库…

5. 网络编程之UDP编程

1. UDP协议的特点 相比与TCP协议来说&#xff0c;UDP协议就显得相对比较简单了。 (1) UDP是无连接的   即发送数据之前不需要建立连接(当然&#xff0c;发送数据结束时也没有连接可释放)&#xff0c;因此减少了开销和发送数据之前的时延。 (2) UDP使用尽最大努力交付   即…

78、Points2NeRF: Generating Neural Radiance Fields from 3D point cloud

简介 github&#xff1a;https://github.com/gmum/points2nerf 由于点云的大小和复杂性&#xff0c;处理这些点云具有挑战性&#xff0c;现有的方法通过将网格拟合到点云并渲染来解决这个问题&#xff0c;这种方法导致结果可视化的保真度降低&#xff0c;并遗漏了在计算机图形…

HashTable HashMap ConcurrentHashMap 的介绍以及区别

目录 &#x1f407;今日良言:投资自己才是最好的投资 &#x1f409;一.HashMap. &#x1f415;二.HashTable &#x1f40d;三.ConcurrentHashMap &#x1f402;四.三者的区别 &#x1f407;今日良言:投资自己才是最好的投资 时隔四十多天,今天博主要更新了. 后续内容也是精…

[机器学习]损失函数DLC

一、损失函数的概念 损失函数(Loss Function)是用于评估预测结果和真实结果之间差距的一个公式&#xff0c;为模型优化指明方向。在模型优化过程中一般表述为&#xff1a;或 与针对整个训练集的代价函数(Cost Function)不同&#xff0c;损失函数通常仅针对单个训练样本。可以归…

RK3568平台开发系列讲解(驱动基础篇)Linux 内核源码介绍

🚀返回专栏总目录 文章目录 一、目录树概览二、快速确定主板关联代码2.1、基础代码2.2、驱动代码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢进行嵌入式 Linux 产品开发,往往需要对内核进行裁剪和定制,以满足嵌入式产品的功能和性能需求。 一、目录树概览 解压…

Python---学生管理系统(pyinstaller)

专栏&#xff1a;python 个人主页&#xff1a;HaiFan. 专栏简介&#xff1a;本专栏主要更新一些python的基础知识&#xff0c;也会实现一些小游戏和通讯录&#xff0c;学时管理系统之类的&#xff0c;有兴趣的朋友可以关注一下。 学生管理系统前言创建入口函数新增学生insert展…

行为型模式-迭代器模式

1.概述 定义&#xff1a;提供一个对象来顺序访问聚合对象中的一系列数据&#xff0c;而不暴露聚合对象的内部表示。 2.结构 迭代器模式主要包含以下角色&#xff1a; 抽象聚合&#xff08;Aggregate&#xff09;角色&#xff1a;定义存储、添加、删除聚合元素以及创建迭代器…

实战案例:Python批量识别银行卡号码并且写入Excel,初学者也可以轻松使用~

大家好&#xff0c;这里是程序员晚枫&#xff0c; 今天我们继续学习Python自动化办公&#xff1a;每次有新员工入职&#xff0c;都要收集大量的工资卡信息&#xff0c;并且生成Excel文档&#xff0c;能不能用Python准确、快速地解决呢&#xff1f; 今天我们就来学习一下&…

【CCNA | 网络模拟器CPT系列】Cisco Packet Tracer 8.2.0 的安装 Ⅰ

目录1. 下载 Cisco Packet Tracer2. 安装 Cisco Packet Tracer&#xff08;1&#xff09;许可协议界面&#xff08;2&#xff09;选择安装目录&#xff08;3&#xff09;选择开始菜单文件夹&#xff08;4&#xff09;选择附加任务&#xff08;5&#xff09;确认设置选择&#x…

K8S环境安装

K8S环境安装 下面是环境的主机名和IP 主机名ipk8smaster192.168.68.150k8snode1192.168.68.151k8snode2192.168.68.152 1、安装docker 配置yum源 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/d…

不受支持的 Mac 上的通用控制(现已支持 macOS Ventura)

现已支持 macOS Ventura 请访问原文链接&#xff1a;不受支持的 Mac 上的通用控制&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;www.sysin.org 本文为 在不受支持的 Mac 上安装 macOS Ventura、Monterey、Big Sur (OpenCore Legacy Pa…

【Effective_Objective-C_5内存管理】

文章目录前言29.理解引用计数引用计数的工作原理关闭ARC模式引用计数的增减理解一下引用计数存在属性存取方法中的内存管理自动释放池保留环要点30.以ARC简化引用计数使用ARC时必须遵循的方法和命名规则-变量的内存管理语法意义ARC如何清理实例变量覆写内存管理的方法要点31.在…

eclipse调试没反应,没有Debug窗口弹出

用eclipse调试&#xff0c;点击“Run”“Debug as”没有反应&#xff0c;debug视图没有弹出一、打开Preferences点击“Windows”&#xff0c;点击“Preferences”&#xff0c;找到“Run/Debug”下面的“Perspectives”&#xff0c;我的打开是这个样子&#xff0c;要修改一些选项…

【JavaSE成神之路】一文搞定static关键字

哈喽&#xff0c;我是兔哥呀&#xff0c;今天就让我们继续这个JavaSE成神之路&#xff01; 这一节啊&#xff0c;咱们要学习的内容是Java的static关键字。 1. 我们是怎么使用static关键字的 我们其实一直在用static关键字&#xff0c;比如main方法&#xff1a; public stati…