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

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

    关注

    161

    文章

    4332

    浏览量

    120014
  • 数据结构
    +关注

    关注

    3

    文章

    570

    浏览量

    40077
  • HALCON
    +关注

    关注

    16

    文章

    64

    浏览量

    27168

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

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

收藏 人收藏

    评论

    相关推荐

    嵌入式常用数据结构有哪些

    在嵌入式编程中,数据结构的选择和使用对于程序的性能、内存管理以及开发效率都具有重要影响。嵌入式系统由于资源受限(如处理器速度、内存大小等),因此对数据结构的选择和使用尤为关键。以下是嵌入式编程中常用的几种数据结构,结合具体特点和
    的头像 发表于 09-02 15:25 367次阅读

    Labview与Halcon图片Image互相转换

    Labview 与Halcon 联合开发 分享一下Labview 与Halcon Image格式相互转换的程序, 整理了一个VI,LV_to _Halconxl.vi,可以直接调用,相互转换两种格式
    发表于 06-27 23:00

    探索编程世界的七大数据结构

    结构就像是一颗倒挂的小树,有根、有枝、有叶。它是一种非线性的数据结构,以层级的方式存储数据,顶部是根节点,底部是叶节点。
    的头像 发表于 04-16 12:04 349次阅读

    TASKING编译器是否可以将数据结构设置为 \"打包\"?

    TASKING 编译器是否可以将数据结构设置为 \"打包\"? GCC 很早以前就提供了这种可能性,可以将__attribute__((packed))与对齐指令结合使用。 对于
    发表于 03-05 06:00

    矢量与栅格数据结构各有什么特征

    矢量数据结构和栅格数据结构是地理信息系统(GIS)中最常用的两种数据结构。它们在存储和表示地理要素上有着不同的方法和特征。在接下来的文章中,我们将详细介绍这两种数据结构并比较它们的特点
    的头像 发表于 02-25 15:06 2272次阅读

    NI视觉图像转halcon图像

    labview采集图片可用用它转halcon,就可用使用halcon算子处理了
    发表于 02-21 16:35

    机器视觉软件有哪些 机器视觉软件的优点

    机器视觉软件是一种利用计算机视觉技术来模拟和弥补人眼视觉功能的软件系统。它可以通过对图像和视频进行分析,识别和理解目标物体,以实现自动化和智
    的头像 发表于 02-02 10:53 1435次阅读

    区块链是什么样的数据结构组织

    区块链是一种特殊的数据结构,它以分布式、去中心化的方式组织和存储数据。区块链的核心原理是将数据分布在网络的各个节点上,通过密码学算法保证数据的安全和可靠性。在区块链上,
    的头像 发表于 01-11 10:57 1892次阅读

    C语言数据结构之跳表详解

    大家好,今天分享一篇C语言数据结构相关的文章--跳表。
    的头像 发表于 12-29 09:32 782次阅读
    C语言<b class='flag-5'>数据结构</b>之跳表详解

    Halcon和Opencv图像处理库对比

    在工业视觉领域属于经常使用的软件,相对于opencv的开源精神Halcon属于商业非开源项目并且收费。Halcon起源于德国在国内的工业视觉
    的头像 发表于 12-20 10:30 958次阅读

    在英特尔独立显卡上加速HALCON AI模型推理

    MVTec HALCON 是一款在全球范围内使用,综合性的机器视觉标准软件。它有一个专门的集成开发环境(HDevelop),专门用于开发图像处理解决方案。
    的头像 发表于 12-16 10:18 1416次阅读
    在英特尔独立显卡上加速<b class='flag-5'>HALCON</b> AI模型推理

    redis数据结构的底层实现

    Redis是一种内存键值数据库,常用于缓存、消息队列、实时数据分析等场景。它的高性能得益于其精心设计的数据结构和底层实现。本文将详细介绍Redis常用的数据结构和它们的底层实现。 Re
    的头像 发表于 12-05 10:14 577次阅读

    不同数据结构的定义代码

    数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
    的头像 发表于 11-29 14:13 613次阅读

    redis的数据结构一般分为哪几种?

    Redis的数据结构一般可以分为以下几种: 字符串(Strings): 字符串是 Redis 最基本的数据结构,可以存储任何类型的数据,包括二进制数据。字符串在 Redis 中有很多应
    的头像 发表于 11-16 11:19 408次阅读

    redis的五种数据类型底层数据结构

    Redis是一种内存数据存储系统,支持多种数据结构。这些数据结构不仅可以满足常见的存储需求,还能够通过其底层数据结构提供高效的操作和查询。以下是Redis中常用的五种
    的头像 发表于 11-16 11:18 674次阅读