今天我给大家介绍一下halcon中经常使用的数据类型:handles

其实句柄这个概念大家一点也不陌生,在Windows的API中,涉及到很多的句柄对象,比如窗口句柄、文件、设备句柄。 其实句柄的值就是一个整形值,代表一个内存地址实例,那么在halcon中 ,handles是什么?

Halcon的底层是C语言开发的,封装了C、C++、C#等接口,在底层的C接口中,定义了复杂的数据结构,比如模板匹配、OCR、条码等,这些模型内部定义了对应的数据、内存,当我们创建的时候,会分配对应的内存空间,封装了一下就是一个句柄对象,其实这是一个内存地址,我们在创建到销毁的过程中,这个值不能够更改,大家可以看看我下面的demo,这个demo是一个封装了常用PLC协议的C接口库,上层软件调用会先创建这个句柄,内部其实是new了一个C++对象,参数输出的时候,强制转换为void*变量,void*变量的值是内存地址,是一个值。

创建句柄

创建句柄,分配对象空间

使用句柄

使用句柄,转换句柄对象,转换为内部对象

销毁句柄

销毁对象,释放空间

我们明白了上面的句柄创建过程,我们再理解halcon中的各种句柄,比如在模板匹配中handle,我们可以通过read_shape_model从本地读取模板文件,这个算子输出一个句柄对象,也可以通过create_shape_model用模板图片创建,这个算子输出一个匹配的句柄,不管是读取的还是创建的句柄,我们在后期直接使用这个句柄ID,比如通过get_shape_mode_contour获取轮廓,通过find_shape_mode查找图中的模板 匹配点,都需要使用这个句柄对象。其他的句柄对象,不如OCR、BarCode等,使用方法都是先创建或者读取句柄对象,然后使用这个句柄对象。记住,使用的了句柄,一定要释放,通过clear_*释放,否则要内存泄露

常用的句柄

知道这些基础知识,对你后期开发有很大的帮助。

必须声明标量变量是什么意思_机器视觉学习之halcon系列---一文带你理解handle变量是什么意思...相关推荐

  1. 函数或变量 rtenslearn_c 无法识别_深度学习的数学-卷积神经网络的结构和变量关系...

    前言 本篇博客主要介绍卷积神经网络的组成部分,以及变量表示,最后附上卷积神经网络代价函数的计算 正文 前文中学到的神经网络都是全连接类型的,隐藏层对输入层有着各自固定的偏好模式,满足偏好模式(权重和偏 ...

  2. 怎么看rabbitmq的浏览器信息_没用过消息队列?一文带你体验RabbitMQ收发消息

    人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 先给大家说声抱歉,最近一周都没有发文,有一些比较要紧重要的事需要处理. 今天正好得空,本来说准备写SpringIOC相关的东西,但是发现想 ...

  3. hive退出命令_从零开始学习大数据系列(五十五)使用Hive命令行及内置服务

    [本文2000字左右,预计阅读需要15-20分钟] 让我们来回顾下之前用到的Hive用户的交互接口.Hive用户接口主要有三个:命令行(CLI),客户端(Client)和Web界面(WUI).$HIV ...

  4. java中的拆箱和装箱是指什么_一文带你理解Java中自动装箱和拆箱

    Java中自动装箱和拆箱 装箱(Boxing),也称为包装(Wrapper),是在对象中放置原语类型(primitive type)的过程,以便原语(primitive)可以作为引用对象使用. 这里的 ...

  5. python实现目标检测源代码包_深度学习目标检测系列:faster RCNN实现|附python源码...

    摘要: 本文在讲述RCNN系列算法基本原理基础上,使用keras实现faster RCNN算法,在细胞检测任务上表现优异,可动手操作一下. 目标检测一直是计算机视觉中比较热门的研究领域,有一些常用且成 ...

  6. wpf 多线程处理同步数据_一文带你理解多线程的实际意义和优势

    多线程有什么好处?提高CPU的利用率,更好地利用系统资源,使用Monitor类可以同步静态/实例化的方法的全部代码或者部分代码段,使用不同的同步类创建自己的同步机制. 多线程指从软件或者硬件上实现多个 ...

  7. mysql 中的脏读与幻读_一文带你理解脏读,幻读,不可重复读与mysql的锁,事务隔离机制...

    首先说一下数据库事务的四大特性 1 ACID 事务的四大特性是ACID(不是"酸"....) (1) A:原子性(Atomicity) 原子性指的是事务要么完全执行,要么完全不执行 ...

  8. mysql 可重复读 悲观锁_一文带你理解脏读,幻读,不可重复读与mysql的锁,事务隔离机制...

    首先说一下数据库事务的四大特性 1 ACID 事务的四大特性是ACID(不是"酸"....) (1) A:原子性(Atomicity) 原子性指的是事务要么完全执行,要么完全不执行 ...

  9. asp向不同的用户发送信息_【asp.net core 系列】 1 带你了解一下asp.net core

    0. 前言 这是一个新的系列,名字是<http://ASP.NET Core 入门到实战>.这个系列主讲http://ASP.NET Core MVC,辅助一些前端的基础知识(能用来实现我 ...

  10. c#用canny算子做边缘提取_机器视觉学习(三)边缘检测

    一.边缘检测 二.边缘检测流程 三.Canny边缘检测 前言 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域.有许多方法用于边缘检测,它们的绝大部分可以划分为两类: 基于一阶导数 首 ...

最新文章

  1. 根据16S预测微生物群落功能最全攻略
  2. Java 地位不保,落后已成定局 ?| 10月编程语言排行
  3. python官网下载步骤linux-Linux 安装python3.x步骤
  4. Beats Studio3录音师手机音源配置,听出好声音,听出震撼效果!勇士限量款评测!
  5. gradle 查看依赖类库版本_Android studio中查看依赖的第三方库的历史版本和最新版本...
  6. Python基础——min/max与np.argmin/np.argmax
  7. 电梯控制系统设计(PLC及组态)
  8. 上线时的相关检查清单
  9. 【历史上的今天】5 月 17 日:面向对象编程之父出生;国内全面接入互联网;惠普收购 Cray
  10. (一)TileMap使用
  11. Hadoop2.x HA
  12. linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]
  13. 西门子200SMART笔记
  14. 客户端登录阿里云mysql数据库_Mysql数据库之数据库术语和客户端登陆
  15. 浅浅瞅瞅RSA-PSS 算法
  16. 《给教师的一百条建议》读后感3500字
  17. make px4fmu-v2_default报错:ninja:no work to do
  18. 用计算机来谈生僻字,语义搜索及框计算:从百度查生僻字谈起
  19. 照片尺寸对照表[转]
  20. 上海市二级分类土地利用/土地利用规划

热门文章

  1. C# 连接 SQL Server 数据库,出现异常:provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接...
  2. 网页校验器:含有Flash的网页如何通过校验 ?
  3. PaddlePaddle(6)—— 基于Hub Serving的微信小程序模型部署
  4. Linux操作系统中awk语言常见用法
  5. 《软件需求分析》阅读笔记3
  6. 导出数据报ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。 ORA-39087: 目录名 DUMP_DIR 无效...
  7. 【转载】WebService到底是什么?
  8. Android 性能优化——之控件的优化
  9. 解决Win7上的连接access数据库的问题
  10. php中echo和print的区别