halcon1

news2024/11/18 5:35:07

Halcon安装:
halcon介绍:

德国MVtec公司开发的一套完善的标准的机器视觉算法包。底层功能算法多,运算性能快。halcon不能提供相应的界面编程需求,需要和vs一起才能构成一套完整软件。

软件界面

halcon数据类型

Halcon的数据类型主要分为两大类:图形参数(Iconic Parameters)和控制参数(Control Parameters)。

图形参数(Iconic Parameters)

图形参数用于表示图像和图像中的对象

  1. Image(图像)

    • 图像是Halcon中最基本的数据结构,用于表示二维图像。它包含了图像的像素值、尺寸、颜色模式等信息。
    • 图像可以是灰度图像(单通道图像)或彩色图像(多通道图像),颜色通道可以是RGB、HSV等。
    • 图像可以通过读取文件、采集设备或者算法生成。
  2. Region(区域)

    • 区域用于表示图像中的感兴趣区域。它可以是一个矩形、圆形、多边形等形状,也可以是由像素组成的任意形状。
    • 区域可以用于图像分割、目标检测、形状匹配等应用。
    • 区域可以通过二值化、形状操作或者算法生成。
  3. XLD(Extended Line Descriptions,扩展线描述符)

    • XLD是一种特殊的数据结构,用于表示图像中的线段、圆弧、椭圆等几何形状。
    • XLD比传统的像素级表示更精确,可以达到亚像素级别,因此在边缘检测、形状拟合、曲线跟踪等任务中有重要应用。
    • XLD可以通过边缘检测、边缘连接或者算法生成。
控制参数(Control Parameters)

控制参数用于控制图像处理的过程和结果,主要包括以下几种类型:

  1. String(字符串)

    • 用于表示文本信息,如文件名、路径、错误信息等。
  2. Integer(整型)

    • 用于表示整数值,如图像尺寸、阈值、循环次数等。
  3. Real(实型)

    • 用于表示浮点数,提供比整型更高的精度,常用于图像处理中的参数设置。
  4. Tuple(元组)

    • 元组是Halcon中用于存储和处理数据的基本数据结构,它可以存储数字、字符串、图像、区域等各种类型的数据。
    • 元组可以进行各种操作,如读取、修改、拼接、查询等,在Halcon中广泛应用于参数传递、结果返回和数据存储。
  5. Handle(句柄)

    • 句柄是一种特殊的控制参数,用于唯一标识一个对象或资源。在Halcon中,句柄可以用来表示窗体、文件、模板等对象。
halcon中常用逻辑运算符

在Halcon中,运算符(或称为操作符、函数)是执行各种图像处理任务的基本元素。这些运算符可以分为多个类别,每个类别都有其特定的功能和用法。以下是对Halcon中常见运算符的解析:

1. 数学和逻辑运算符
  • 算术运算符:如加(+)、减(-)、乘(*)、除(/)等,用于对数值进行基本算术运算。
  • 逻辑运算符:如与(and)、或(or)、非(not)等,用于进行逻辑判断和操作。
  • 数学函数:如sin、cos、tan等三角函数,exp、log等指数和对数函数,以及pow、ldexp等幂函数,用于进行复杂的数学计算。
2. 控制流运算符
  • 条件语句(if...endif、if...else...endif):根据条件判断的结果执行不同的代码块。
  • 循环语句(for...endfor、while...endwhile、repeat...until):重复执行代码块直到满足特定条件。
  • 控制语句(break、continue、return、exit、stop):用于控制循环和程序的执行流程。
3. 赋值和元组操作
  • 赋值运算符(:=):用于将表达式的值赋给变量。
  • 元组操作:包括元组的创建、合并、分割、选择元素等操作。元组是Halcon中用于存储和处理数据的基本数据结构,可以包含数字、字符串、图像、区域等多种类型的数据。
4. 字符串操作
  • 字符串赋值和连接:使用单引号将字符串括起来,并使用加号(+)连接字符串。
  • 字符串函数:如strlen(获取字符串长度)、strchr(在字符串中搜索字符)、strstr(在字符串中搜索子字符串)等,用于对字符串进行各种操作。
5. 特殊运算符
  • try...catch...endtry:用于捕获和处理程序执行过程中可能出现的错误。
  • dev_error_var()与dev_set_check():与try...catch...endtry类似,用于错误捕获和处理
  • 6.图像处理运算符
  • 图像加载(read_image):用于从文件系统中加载图像。支持多种图像格式,如BMP、JPEG、PNG等。
  • 图像显示(disp_image):在图像窗口中显示图像。支持图像的缩放、平移和旋转等操作。
  • 灰度转换(rgb_to_gray):将彩色图像转换为灰度图像,以便进行边缘检测、形状识别等任务。
  • 图像滤波(filter):对图像进行滤波操作,如高斯滤波、中值滤波等,用于图像的平滑、增强和去噪。
  • 边缘检测(edges_image):检测图像中的边缘,提取边缘轮廓。
  • 形状匹配(find_shape_model):在图像中寻找特定形状的对象,通过事先学习的形状模板进行匹配。
数据类型和运算符

 元组操作

Halcon 中函数

作用:

执行各种图像处理任务的基本单元。每个函数都有其特定的输入和输出参数,这些参数定义了函数如何工作以及产生的结果

输入参数

函数执行时所需的数据或设置,可以是图像、区域、控制变量(如整数、浮点数、字符串等)或任何其他可以传递给函数的数据类型。

输出参数

函数执行后产生的结果。输出参数可以是图像、区域、控制变量(如修改后的值)或任何其他数据类型。

threshold(Image, Region, MinGray, MaxGray, 'dark')

Image 是输入图像,MinGray 和 MaxGray 是控制阈值范围的输入参数,而 Region 是输出参数,表示根据阈值处理生成的区域。

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

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

相关文章

Hugo博客搭建

Hugo 构建 Hugo 安装 下载 安装包hugo version 查看是否安装成功 生成站点基础框架 进入自己指定文件夹下执行 hugo new site solejay-blog创建仓库 cd solejay-blog git init主题配置 进入 Hugo 主题页面 选择主题并下载 个人喜欢的主题:meme、newsroom、gal…

mac安装java17(jdk17)

1. 下载jdk17 官网下载:https://www.oracle.com/java/technologies/downloads 2. 直接安装 安装完后目录会存放在下面目录下 /Library/Java/JavaVirtualMachines 111111deMBP JavaVirtualMachines % ls jdk-11.0.227 jdk-17.jdk 3. 如果你已经安装过java&#…

【MobaXterm】查找输出结果的关键字

要求: 在MobaXterm终端的输出结果 查找关键字 解决: 菜单栏终端->在终端中查找 Terminal -> Find in terminal

智慧水务项目(七)vscode 远程连接ubuntu 20.04 服务器,调试pyscada,踩坑多多

一、说明 以前用过pycharm,远程连接还可以,但是vscode用以前还可以,就用它开发python了,想搞个远程,源码直接放服务器上,能远程调试,其实也很方便的,结果第一次还成功了,…

【机器翻译方向】数据集合集!

本文将为您介绍经典、热门的数据集,希望对您在选择适合的数据集时有所帮助。 1 QUAK 发布方: Upstage高丽大学 发布时间: 2022 韩英合成机器翻译质量预测数据 (韩英神经机器翻译的一个合成质量估计数据集,QUAK) 是指韩语句子和…

erlang学习:erlang学习:书上案例22.6练习题3

初步实现了书上案例第二,三问的要求,对输出结果有部分偏差,没有实现对已完成任务状态的记录,因此已完成任务输出无论如何都是0,明天会在record中加一个字段进行已完成任务状态的记录 (2) 添加一个名为job_centre:stati…

业绩回暖的小鹏,何时能够迈过月销2万的“及格线”?

古罗马哲学家塞涅卡在他的《论天命》中曾写下这么一句话:“英勇的士兵能够从战斗的胜利中获得喜悦,而伟大的人能够从逆境中得到欢乐。” 对于企业来说,身处逆境不一定能得到欢乐,但是走出逆境一定振奋人心。 8月20日&#xff0c…

【原创教程】电气电工10:接压线端子

电气电工这些知识点,我们描述的比较细,虽然看起来比较简单,但是它是后面我们技能提升的基础,如果我们后面学电气工程师相关知识,这些都属于基本功。 接着我们来看一下接线端子 一、接线端子 接线端子的介绍: 接线端子是一种用于连接电线的设备,它能够将电线的导体与…

vue3 bug记录

项目场景: vue2.7 使用vue的ref,报错 Avoid adding reactive properties to a Vue instance or its root $data at runtime - declare it upfront in the data option. 原因分析: 表单组件使用了同名的ref,需要删掉

基于Modbus的MFC智能控制

1. 系统概述 利用LabVIEW通过Modbus 485协议实现对七星(Sevenstar)品牌质量流量控制器(MFC)的智能化控制。该系统将自动控制多个MFC的流速,实时监控其状态,并根据需要进行调整。 2. 硬件配置 MFCs: 七星品…

qt+ffmpeg报错non-existing PPS 0 referenced,如何解决???

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

LeetCode61.旋转链表

本题有两种做法:迭代和递归 本题的本质是:将链表中后k个结点变为前k个,然后将头结点连接到尾节点 迭代 考察知识: 边界条件判断链表倒k结点寻找Get思想:结环 /*** Definition for singly-linked list.* public cla…

基于51单片机的自动窗帘控制proteus仿真

地址:https://pan.baidu.com/s/1l7MGgoPD5Q58ANR1djYWow 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectron…

【vue3+Typescript】手撸了一个轻量uniapp导航条

最近公共组件写到导航条,本来打算拿已有的改。看了下uniapp市场上已有的组件,一是不支持vue3typescript,二是包装过重。索性自己手撸了一个导航条,不到100行代码全部搞定,因为自己的需求很简单: 1&#xf…

深度学习----------------------残差网络ResNet

目录 ResNet加更多的层总是改进精度吗?残差块ResNet块细节不同的残差块ResNet块ResNet架构总结 ResNet代码实现残差块输入和输出形状一致增加输出通道数的同时,减半输出的高和宽ResNet模型观察ResNet中不同模块的输入形状是如何变化的训练模型 问题ResNe…

JRE和JDK概念区分

1.JRE Java Runtime Environment:java运行环境。JVMJava类库。开发好的java程序,直接运行,可只安装JRE。 2.JDK Java Development Kit:java软件开发工具包。JREJava开发工具。编译、运行java代码。 3.总结 JRE就是运行Java字…

制作网页底部以及<footer>置底

目录 前言 页脚置底 页脚置底的几种方法 使用calc()设置内容高度 使用flex布局 将内容部分的margin-bottom改为负值【不推荐】 一个网页底部Demo HTML部分: CSS部分: 效果: 其他说明 margin负值特性 下面以一个具体的例子来说明…

Edge-TTS:微软推出的,免费、开源、支持多种中文语音语色的AI工具[Python代码]

Edge-TTS,由微软推出的这款免费、开源的AI工具,为用户带来了丰富多样的中文语音体验。它不仅支持多种中文语音语色,还能实现流畅自然的语音合成。Edge-TTS凭借其高度可定制化的特点,广泛应用于智能助手、语音播报、教育培训等领域…

加速自动驾驶模型迭代,数据存算一体是关键

自动驾驶的每一个业务阶段都会涉及到 AI 深度学习算法和算力的参与,机器视觉,深度学习,传感器技术等均在自动驾驶领域发挥着重要的作用。自动驾驶系统不断迭代的前提是算法的持续优化,目前,自动驾驶发展的瓶颈主要在于…

【笔记】0基础python学爬虫(未完)

(一)用requests发送get请求 安装好pycharm(跳过) 在本地控制台输入pip install requests 安装requests模块 with防止资源浪费 不论f文件有没有执行成功最后都会关闭 请求获取url resp requests.get(url) resp.text获取源代码…