当前位置: 首页 > 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) //向字典中添加一个键值对

http://www.lryc.cn/news/403648.html

相关文章:

  • 数据库系统概论:事务与并发一致性问题
  • Python编程基础:元组类型、字典类型、集合类型
  • day2 单机并发缓存
  • ECMP等价多路由机制,大模型训练负载均衡流量极化冲突原因,万卡(大规模)集群语言模型(LLM)训练流量拥塞特点
  • Linux 注意事项
  • 力扣SQL50 指定日期的产品价格 双重子查询 coalesce
  • MySQL8的备份方案——全量(完全)备份(CentOS)
  • JVM监控及诊断工具-命令行篇--jcmd命令介绍
  • c++信号和槽机制的轻量级实现,sigslot 库介绍及使用
  • 云原生项目纪事系列 - 项目管理的鲜活事例
  • 【Vite】快速入门及其配置
  • Armv8/Armv9架构的学习大纲-学习方法-自学路线-付费学习路线
  • vue 中 ui 组件二次封装后 ref 怎么穿透到子组件里
  • sourcetree中常用功能使用方法及gitlab冲突解决
  • SQL Server分布式查询:跨数据库的无缝数据探索
  • 【字少图多剖析微服务】深入理解Eureka核心原理
  • 如何在 Linux 中解压 ZIP 文件
  • IDEA的APIPost接口测试插件详解
  • [经验] 驰这个汉字的拼音是什么 #学习方法#其他#媒体
  • 生成式人工智能落地校园与课堂的15个场景
  • C# 中的事件
  • 一、单例模式
  • B树:高效的数据存储结构
  • [Vulnhub] TORMENT IRC+FTP+CUPS+SMTP+apache配置文件权限提升+pkexec权限提升
  • <数据集>安全帽佩戴识别数据集<目标检测>
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-21 VTC视频时序控制器设计
  • 记录uni-app横屏项目:自定义弹出框
  • Linux Vim教程(二):基本命令和操作
  • 【大模型基础】4.1 数据挖掘(待)
  • Jupyter Notebook与机器学习:使用Scikit-Learn构建模型