当前位置: 首页 > news >正文

HALCON数据结构

一、HALCON数据结构简介

1、HALCON中有两类参数:图形参数和控制参数。

2、HALCON算子参数中,图形输入参数、图形输出参数、控制输入参数和控制输出参数。

3、图形参数有:图像(image)、区域(region)和轮廓(XLD)

4、控制参数有:整型(integer)、实型(real)、布尔类型(boolean)、字符串类型(string)、数组(tuple)、向量(vector)和句柄(handle)

二、图形参数

1、图像(image)

图像由像素、通道和域三个部分组成。

1.1像素类型

灰度图像:byte(8位无符号)和uint2(16位无符号)

差异图像(两帧图像之间):int1(8位有符号)和int2(16位有符号)

边缘提取(图像求导):real(32位浮点数)

2D直方图(灰度频谱):int4(32位有符号数)

边缘梯度方向:direction(8位无符号数)

频域(傅里叶变换):complex(每个像素用2个real值)

色相:cyclic(8位无符号) 当增加一个像素值超过255时,它被移到光谱的另一端

描述X方向或Y方向的运动:vector_field(由x和y方向的两个real类型的图像组成)

1.2通道

单通道图像(灰度值图像):对于灰度图像,每个像素上只存储一个值。比如,灰度值代表着传感器上的一个局部光强值。

三通道图像(RGB图像等):对于彩色图像,像素值通常存储在三个通道中。每个通道表示各自像素(RGB图像)的红色、绿色或蓝色光的强度。

1.3域

为了将重点放在感兴趣的区域(ROI)或着加快操作速度,可以将域缩小到图像的相应部分。

2、区域(region)

区域被定义为一组像素。它可以表示一幅图像中任意的像素子集。

可以应用blob分析或定义感兴趣的区域(ROI)进行亚像素精度的操作。

3、轮廓(XLD)

XLD是eXtended Line Description的缩写,包括轮廓和多边形。

亚像素精度轮廓可以通过亚像素阈值分割或者亚像素边缘提取来获得。

轮廓是用浮点数数组来表示的(包括横坐标数组和纵坐标数组)。

可以使用亚像素精度的轮廓来进行一些测量。

三、控制参数

1、整型(integer)

i1 := -10    //十进制数
i2 := 017    //八进制数
i3 := 0x1f   //十六进制数

2、实型(real)

r1 := 0.38
r2 := -0.38e2

3、布尔类型(boolean)

b1 :=true   //真:1
b2 :=false  //假:0

4、字符串类型(string)

c := 'hello world!'

5、数组(tuple)

tuple1 := [1,2,3,4,5]             //整型数组
tuple2 := [0.13,0.35,0.57]    //实型数组
tuple3 := ['aaa','bbb','ccc']   //字符串数组
tuple4 := [10,0.1,'abc']        //混合数组

6、向量(vector)

Vtuple :={}  //创建向量
Vtuple.at(0) := tuple1  //往向量中添加第一个元素
Vtuple.at(1) := tuple2  //往向量中添加第一个元素
Vtuple_Length := Vtuple.length() //向量的大小

7、句柄(handle)

create_dict (DictHandle)  //创建字典句柄
set_dict_tuple (DictHandle, 'a', 1) //向字典中添加一个键值对

相关文章:

HALCON数据结构

一、HALCON数据结构简介 1、HALCON中有两类参数:图形参数和控制参数。 2、HALCON算子参数中,图形输入参数、图形输出参数、控制输入参数和控制输出参数。 3、图形参数有:图像(image)、区域(region)和轮廓(XLD) 4、控制参数有:…...

数据库系统概论:事务与并发一致性问题

随着网络应用的普及,数据库并发问题变得越来越重要。数据库并发指的是多个用户或进程同时访问和操作数据库的能力。它是数据库系统性能优化的重要方面,旨在提高系统的吞吐量和响应时间,以满足多用户同时访问数据库的需求。然而,这…...

Python编程基础:元组类型、字典类型、集合类型

目录 元组类型创建/删除元组访问/操作元组元组生成式字典类型创建/删除字典访问/操作字典字典相关函数集合类型创建/删除集合集合相关操作符访问/操作集合元组类型 元组是Python中内置的不可变序列,这是它跟列表的不同之处,它没有一系列增删改等操作,只可以使用索引和for循环…...

day2 单机并发缓存

文章目录 1 sync.Mutex2 支持并发读写3 主体结构 Group3.1 回调 Getter3.2 Group 的定义3.3 Group 的 Get 方法 4 测试 本文代码地址: https://gitee.com/lymgoforIT/gee-cache/tree/master/day2-single-node 本文是7天用Go从零实现分布式缓存GeeCache的第二篇。 …...

ECMP等价多路由机制,大模型训练负载均衡流量极化冲突原因,万卡(大规模)集群语言模型(LLM)训练流量拥塞特点

大规模集群,大语言模型(LLM)训练流量特点,ECMP(Equal-Cost Multi-Path Routing)流量极化拥塞原因。 视频分享在这: 2.1 ECMP等价多路由,大模型训练流量特点,拥塞冲突极化产生原因_哔哩哔哩_bi…...

Linux 注意事项

Linux 与 Windows 是两个相互独立的操作系统,两者有较大差距: 1.1 Linux 严格区分大小写(Windows不严格区分大小写); 1.2 Linux 中所有内容,硬件设备都以文件形式保存在 /dev 目录下(万物皆文件…...

力扣SQL50 指定日期的产品价格 双重子查询 coalesce

Problem: 1164. 指定日期的产品价格 coalesce 的使用 简洁版 &#x1f468;‍&#x1f3eb; 参考题解 select distinct p1.product_id,coalesce((select p2.new_pricefrom Products p2where p2.product_id p1.product_id and p2.change_date < 2019-08-16order by p2.…...

MySQL8的备份方案——全量(完全)备份(CentOS)

MySQL8的全量备份 一、安装备份工具二、备份数据三、恢复备份 点击跳转增量备份 点击跳转差异备份 点击跳转压缩备份 一、安装备份工具 官网 下载地址 备份所用工具为percona-xtrabackup 如果下方安装工具的教程失效&#xff0c;请点击上方下载地址转到官方文档查看 下载该工…...

JVM监控及诊断工具-命令行篇--jcmd命令介绍

JVM监控及诊断工具-命令行篇5-jcmd&#xff1a;多功能命令行 一 基本情况二 基本语法jcmd -ljcmd pid helpjcmd pid 具体命令 一 基本情况 在JDK 1.7以后&#xff0c;新增了一个命令行工具jcmd。它是一个多功能的工具&#xff0c;可以用来实现前面除了jstat之外所有命令的功能…...

c++信号和槽机制的轻量级实现,sigslot 库介绍及使用

Qt中的信号与槽机制很好用&#xff0c;然而只在Qt环境中。在现代 C 编程中&#xff0c;对象间的通信是一个核心问题。为了解决这个问题&#xff0c;许多库提供了信号和槽&#xff08;Signals and Slots&#xff09;机制。今天推荐分享一个轻量级的实现&#xff1a;sigslot 库。…...

云原生项目纪事系列 - 项目管理的鲜活事例

大规模云原生系统的新颖性、建设性和挑战性&#xff0c;吸引着许多有数学思想、哲学意识和美学观念的系统架构师&#xff0c;老模也是其中一员。 老模即是文史家庭出身&#xff0c;又有理工学业背景&#xff0c;他基于平时记录的翔实细节&#xff0c;秉持客观原则&#xff0c;使…...

【Vite】快速入门及其配置

概述 Vite是前端构建工具。vite 相较于webpack,vite采用了不同的运行方式&#xff1a; 开发时&#xff0c;并不对代码打包&#xff0c;而是直接采用ESM的方式来运行项目在项目打包部署时&#xff0c;使用 rollup 对项目进行打包除了速度外&#xff0c;vite使用起来也更加方便…...

Armv8/Armv9架构的学习大纲-学习方法-自学路线-付费学习路线

本文给大家列出了Arm架构的学习大纲、学习方法、自学路线、付费学习路线。有兴趣的可以关注&#xff0c;希望对您有帮助。 如果大家有需要的&#xff0c;欢迎关注我的CSDN课程&#xff1a;https://edu.csdn.net/lecturer/6964 ARM 64位架构介绍 ARM 64位架构介绍 ARM架构概况…...

vue 中 ui 组件二次封装后 ref 怎么穿透到子组件里

情景&#xff1a;element-ui 二次封装了 el-table 组件&#xff0c;使用封装组件时&#xff0c;想要调用 el-table 组件内置的一些方法。只在封装组件上定义 ref 是拿不到 el-table 内置方法的。解决方法如下。 1. vue2 封装组件 <template><el-table ref"inn…...

sourcetree中常用功能使用方法及gitlab冲突解决

添加至缓存&#xff1a;等于git add 提交&#xff1a;等于git commit 拉取/获取&#xff1a;等于git pull ,在每次要新增代码或者提交代码前需要先拉取一遍服务器中最新的代码&#xff0c;防止服务器有其他人更新了代码&#xff0c;但我们自己本地的代码在我们更新前跟服务器不…...

SQL Server分布式查询:跨数据库的无缝数据探索

SQL Server分布式查询&#xff1a;跨数据库的无缝数据探索 在当今的企业环境中&#xff0c;数据往往分散在不同的数据库和服务器上。SQL Server的分布式查询功能提供了一种强大的手段&#xff0c;允许用户编写单一的查询来访问和操作分散在不同SQL Server实例中的数据。本文将…...

【字少图多剖析微服务】深入理解Eureka核心原理

深入理解Eureka核心原理 Eureka整体设计Eureka服务端启动Eureka三级缓存Eureka客户端启动 Eureka整体设计 Eureka是一个经典的注册中心&#xff0c;通过http接收客户端的服务发现和服务注册请求&#xff0c;使用内存注册表保存客户端注册上来的实例信息。 Eureka服务端接收的…...

如何在 Linux 中解压 ZIP 文件

ZIP 是一种常用的压缩文件格式&#xff0c;用于存储和传输多个文件。在 Linux 系统中&#xff0c;解压 ZIP 文件非常简单。 使用 unzip 命令 unzip 是一个专用于解压 ZIP 文件的命令行工具。要使用它&#xff0c;请打开终端并输入以下命令&#xff1a; 例如&#xff0c;要解…...

IDEA的APIPost接口测试插件详解

APIPOST官方网址 一、安装APIPost插件 打开IntelliJ IDEA&#xff1a; 启动您的IntelliJ IDEA开发环境。 导航到插件设置&#xff1a; 在Windows或Linux上&#xff0c;点击 File > Settings。在macOS上&#xff0c;点击 IntelliJ IDEA > Preferences。 搜索并安装APIPo…...

[经验] 驰这个汉字的拼音是什么 #学习方法#其他#媒体

驰这个汉字的拼音是什么 驰&#xff0c;是一个常见的汉字&#xff0c;其拼音为“ch”&#xff0c;音调为第四声。它既可以表示动词&#xff0c;也可以表示形容词或副词&#xff0c;意义广泛&#xff0c;经常出现在生活和工作中。下面就让我们一起来了解一下“驰”的含义和用法。…...

从CAD建模到游戏角色动画:深入浅出聊聊B样条曲线在工业与娱乐中的实战应用

从CAD建模到游戏角色动画&#xff1a;B样条曲线的跨领域实战解析 在工业设计与数字娱乐的交汇处&#xff0c;B样条曲线&#xff08;B-spline Curves&#xff09;正悄然重塑着两个行业的创作范式。当汽车设计师在Alias中推敲车身曲面时&#xff0c;游戏动画师正在Blender里调整…...

Cangaroo:开源CAN总线分析软件的技术架构与部署指南

Cangaroo&#xff1a;开源CAN总线分析软件的技术架构与部署指南 【免费下载链接】cangaroo Open source can bus analyzer software - with support for CANable / CANable2, CANFD, and other new features 项目地址: https://gitcode.com/gh_mirrors/ca/cangaroo Cang…...

华为MateBook D 2018 BIOS隐藏选项实战:手动解锁TPM2.0迎战Win11

1. 为什么需要手动解锁TPM2.0 去年Windows 11正式发布时&#xff0c;很多华为MateBook D 2018用户都遇到了一个尴尬问题&#xff1a;明明硬件配置完全达标&#xff0c;却因为BIOS里找不到TPM2.0开关而无法升级。我当时也卡在这个环节整整两天&#xff0c;直到发现原来TPM功能被…...

auto-rednote:自动化信息整理工具的设计原理与实战应用

1. 项目概述与核心价值 最近在整理个人笔记和知识库时&#xff0c;我遇到了一个几乎所有内容创作者和开发者都会头疼的问题&#xff1a;如何高效地将散落在各处的、格式不一的“红色笔记”&#xff08;比如微信收藏、网页剪藏、临时备忘录&#xff09;自动整理成结构化的、可检…...

Android数据存储终极指南:SharedPreferences与ContentProviders完全解析

Android数据存储终极指南&#xff1a;SharedPreferences与ContentProviders完全解析 【免费下载链接】android-best-practices Dos and Donts for Android development, by Futurice developers 项目地址: https://gitcode.com/gh_mirrors/an/android-best-practices 在…...

LT8650S双通道同步降压稳压器设计与汽车电子应用

1. LT8650S双通道同步降压稳压器设计解析在汽车电子和工业设备领域&#xff0c;电源管理系统的设计往往面临严苛挑战。LT8650S作为一款42V输入、双通道4A输出的同步降压稳压器&#xff0c;其Silent Switcher 2架构和6.2μA超低静态电流特性&#xff0c;为工程师提供了高性价比的…...

claw-gatekeeper:构建稳定智能的数据抓取守护服务

1. 项目概述&#xff1a;一个守护数据抓取流程的“看门人”在数据驱动的时代&#xff0c;无论是市场分析、舆情监控还是学术研究&#xff0c;自动化数据抓取&#xff08;爬虫&#xff09;都扮演着至关重要的角色。然而&#xff0c;任何稍有规模的抓取任务&#xff0c;都绕不开几…...

Next-Enterprise:基于Next.js的企业级应用启动模板全解析

1. 项目概述&#xff1a;为什么说 Next-Enterprise 是“企业级”的&#xff1f;如果你正在用 Next.js 开发一个中后台管理系统、一个 SaaS 应用&#xff0c;或者任何需要“开箱即用”的现代企业级功能的应用&#xff0c;那么你大概率经历过这样的场景&#xff1a;项目初始化后&…...

Unity性能优化实战:Mesh Baker 纹理合并与UV重映射详解

1. 为什么需要纹理合并与UV重映射 在开发开放世界游戏时&#xff0c;场景中往往会出现大量重复的建筑、植被等模型。每个模型通常都有自己的材质球和贴图&#xff0c;这会导致两个严重问题&#xff1a;首先是Draw Call数量激增&#xff0c;每个材质球都会产生一次Draw Call&…...

终极指南:3分钟解决Windows安装iPhone网络共享驱动难题

终极指南&#xff1a;3分钟解决Windows安装iPhone网络共享驱动难题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_mi…...