0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

视觉软件HALCON的数据结构

新机器视觉 来源:自动化交流群 2024-11-14 10:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在研究机器视觉算法之前,我们需要先了解机器视觉应用中涉及的基本数据结构。Halcon数据结构主要有图像参数和控制参数两类参数。图像参数包括:image、region、XLD,控制参数包括:string、integer、real、handle、tuple数组等。

b488c686-9067-11ef-a511-92fbcf53809c.png

b4a9d556-9067-11ef-a511-92fbcf53809c.png

1.Image(图像)

Image指在从文件或者相机等读取到内存之后,所得到的HALCON图像,其包括图像的颜色空间、长宽、通道、灰度等信息。根据每个像素信息不同,通常将图像分为二值图像、灰度图像、RGB图像。

图像的主要部分是channels通道,即包含各种像素类型的灰度值矩阵,图像内像素点的值用几个灰度值描述,那么图像就是几通道。比如灰色图像,每个像素的灰度值为0~255,图像有一个通道;而RGB的每个像素拥有R(Red,红色)、G(Green, 绿色)、B(Blue, 蓝色)3个通道,各自的取值范围都是0~255。

b4d5b8b0-9067-11ef-a511-92fbcf53809c.png

值得注意的是,在一般的图像处理中,灰度图像已经可以满足要求,因此为了节约计算量并加快速度,通常会将彩色图像转换成灰度图像进行处理。

2. Region(区域)

Region指图像中的一块包含某些特性的区域,这个特定的区域也称为图像的定义域或感兴趣区域(ROI),它是一幅图像中一个任意的像素子集,也是离散平面的一个任意子集。

Region的作用:

对象分割(blob分析)

用作图片域(Domain),只处理域内像素,可缩短运算时间

寻找特征

b4f573c6-9067-11ef-a511-92fbcf53809c.png

3. XLD(亚像素轮廓)

XLD(eXtended Line Descriptions)称为亚像素精度轮廓,指图像中某一块区域的轮廓,即一组有序的二维点集,二维点顺序用来说明彼此相连的关系。轮廓是用浮点数表示XLD各点的行、列坐标。

图像中Image和区域Region这些数据结构是像素精度的,点与点之间的最小距离就是一个像素的宽度。在实际工业应用中,可能需要比图像像素分辨率更高的精度,这时就需要提取亚像素精度数据,亚像素精度数据可以通过亚像素阀值分割或者亚像素边缘提取来获得。

b51f2c34-9067-11ef-a511-92fbcf53809c.png

4. Handle(句柄)

Handle句柄是一个标识符,是用来标识对象或者项目的。它就像我们的车牌号一样,每一辆注册过的车都会有一个确定的号码,不同的车号码各不相同,但也有可能在不同的时期出现两辆号码相同的车,只不过它们不会同时处于使用之中而已。

在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。从数据类型上来看,它只是一个32位(或64位)的无符号整数。

b5462992-9067-11ef-a511-92fbcf53809c.png

5. Tuple(数组)

Tuple可以理解为C/C++语言中的数组,数组是编程语言中常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素。C/C++语言中的数组操作大都可以在Tuple中找到对应的操作。

b5757d8c-9067-11ef-a511-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器视觉
    +关注

    关注

    163

    文章

    4729

    浏览量

    125011
  • 数据结构
    +关注

    关注

    3

    文章

    573

    浏览量

    41374
  • HALCON
    +关注

    关注

    17

    文章

    66

    浏览量

    28224

原文标题:视觉软件HALCON的数据结构

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    typedef结构体使用

    虽然结构体的出现能够让我们有一个更科学的数据结构来管理数据,但是每次使用结构体都需要struct...,未免显得有些冗长和麻烦。有了typedef的助攻,我们就可以很轻松地给
    发表于 12-08 07:04

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战课(11大系列课程,共5000+分钟)

    、运动控制、数据采集方面软件,具有丰富的非标自动化设备经验。精通LabVIEW、Halcon、深度学习算法部署,擅长将复杂技术转化为实战课程。授权16项labview视觉
    发表于 12-04 09:28

    国产视觉软件企业加速布局90亿市场潜力

    作为工业自动化的“大脑”,视觉软件是实现图像采集、处理、分析与设备控制的核心支撑,直接决定了机器视觉系统的感知精度与应用效能。
    的头像 发表于 12-03 15:05 409次阅读

    【团购】独家全套珍藏!龙哥LabVIEW视觉深度学习实战可(11大系列课程,共5000+分钟)

    讲师,使用LabVIEW开发了大量视觉检测、运动控制、数据采集方面软件,具有丰富的非标自动化设备经验。精通LabVIEW、Halcon、深度学习算法部署,擅长将复杂技术转化为实战课程。
    发表于 12-03 13:50

    CW32嵌入式软件开发的必备知识

    一定了解,以便在特定情况下使用。 了解CW32标准库的用法。 2 、数据结构与算法 熟悉各种数据结构,如数组、链表、栈、队列等,以及常用的算法,如排序、查找、递归等。 能够根据嵌入式系统的资源限制选择
    发表于 11-28 07:48

    C语言程序的结构

    )(void); //处理程序   uInt8 ms_count; //时间片大小   } _op_;   数据结构定义好之后,接着就是实现代码,包括三部分,即初始化数据、时间片的刷新与时间到执行
    发表于 11-26 08:12

    【HZ-T536开发板免费体验】6、使用protoc-gen-gorm生成标准化的数据结构

    在设计espnow协议的时候,考虑到我需要在esp32,Linux设备,web上使用相同的数据结构,那就需要考虑一下,是否使用一个通用的跨平台序列化数据结构。这时候我想起了protobuf,这个就是
    发表于 08-26 00:32

    机器视觉行业2025浅析:规模、结构与发展趋势

    机器视觉产业加速发展,市场规模扩大,产品结构分化,应用聚焦质量检测与智能制造。
    的头像 发表于 07-23 09:22 928次阅读
    机器<b class='flag-5'>视觉</b>行业2025浅析:规模、<b class='flag-5'>结构</b>与发展趋势

    主流机器视觉软件开发平台介绍及对比?

    机器视觉作为工业自动化的核心技术,其软件开发平台的选择直接影响项目的开发效率、成本及最终性能。本文将对比当前主流的视觉开发平台,包括LabVIEW、VisionPro、Halcon
    的头像 发表于 07-14 09:44 1757次阅读
    主流机器<b class='flag-5'>视觉</b><b class='flag-5'>软件</b>开发平台介绍及对比?

    智能软件+硬件解决方案克服实时立体视觉中的挑战

    立体视觉是一种强大的成像技术,通过使用两台或多台相机以略微不同的角度拍摄,模拟人类通过双眼感知深度的方式,从而捕捉环境的三维结构。这项技术能够提供全视野的高密度三维测量,并在非结构化和动态环境中表
    的头像 发表于 05-16 17:04 475次阅读
    智能<b class='flag-5'>软件</b>+硬件解决方案克服实时立体<b class='flag-5'>视觉</b>中的挑战

    程序设计与数据结构

    《程序设计与数据结构》重点阐述了三大方向内容: 1. C语言学习中的痛点:针对当前工程师在C语言学习中的痛点,如指针函数与函数指针,如何灵活应用结构体等。从变量的三要素(变量的类型,变量的值和变量
    发表于 05-13 16:45

    请问K230D怎么将摄像头采集的视频数据通过串口输出?

    我连了个WiFi模块,想要将摄像头采集的视频数据通过串口发送出去。之前都是用的STM32,不太会MicroPython,搞不懂对象的数据结构,求教。
    发表于 04-28 06:16

    Ringbuffer的性能优化方法

    Ringbuffer(循环缓存)是软件中非常常用的数据结构之一, 在互联网应用、数据库应用等中使用广泛。处理器执行 Ringbuffer 的效率与其存储系统处理共享数据的性能息息相关。
    的头像 发表于 03-24 16:03 1156次阅读
    Ringbuffer的性能优化方法

    C#通过Halcon实现3D点云重绘

    C# 通过 Halcon 实现 3D 点云重绘
    发表于 01-05 09:16 0次下载

    C#基于Halcon实现Basler相机采图

    C#基于Halcon实现Basler相机采图
    发表于 01-05 09:16 0次下载