预览:

Halcon11和Halcon10C++接口使用

Halcon11和Halcon10相比采用了新的C++接口,新接口特点如下:

1) 新版本Halcon/C++接口与Halcon/.NET接口统一

2) 拥有基于异常的错误处理

3) 增加新类HString

4) 支持数据类例如:HPose

5) 使面向过程和面向对象的混合编程更加简单

值得注意的是Halcon11不是向下兼容的,也就是说 Halcon11不兼容Halcon10以及之前的版本。如果用户想将原来写的Halcon10/C++代码移植到Halcon11中则需要进行相应的改动,包括编程环境配置、变量定义、函数名称等等。下面我们对代码移植进行一个较详细说明。

1) 链接库更改:

Windows系统改为:

/libpath:"$(HALCONROOT)\lib\$(HALCONARCH)" halconcpp10.lib

Linux系统改为:

-L$(HALCONROOT)/lib/$(HALCONARCH) -lhalconcpp10 -lhalcon

2) 代码更改:

a) 命名空间修改:

// 旧版 // 新版

using namespace Halcon; using namespace HalconCpp;

... ...

b) 代码修改:

i. 函数命名更改,例如:mean_image改为MeanImage

ii. 错误处理要基于异常捕捉

iii. 新版不再支持数组标志Array,例如:HImageArray改为HImage

iv. 使用HString做文字输出

v. 从程序中移除,替换为(注意下划线部分)

vi. 运算符以及变量命名变更:

//旧版 //新版

GetEnv TupleEnvironment

ToString(pattern) TupleString(pattern)

Subset TupleSelect

Add, Sum, Sin,... TupleAdd, TupleSum, TupleSin, ...

Substring 无

Reset Clear

变更例子:

//旧版 //新版

... ...

Hobject Iconic; HObject Iconic; // upper-case O

HImage Image; HImage Image;

HImageArray Images; HImage Images;

HRegionArray Regions; HRegion Regions;

HXLDArray XLDs; HXLD XLDs;

char Characters[MAX_STRING]; HString Characters;

... ...

read_image(&Iconic,"clip") ReadImage(&Iconic,"clip") long Var; Hlong Var;

HTuple Values; HTuple Values; ... ...

Var = Values.Num(); Var = Values.Length(); ... ...

备注:#define HCPP_LEGACY_API可以使用旧的HTuple成员函数

例如:

HTuple Values;

...

Values.Reset()

3) 编译环境更改:

Include路径设定变更

旧版

$HALCONROOT/include/cpp #define HCPP_LEGACY_API HTuple Values; ... Values.Reset() // better use Clear() 新版 $HALCONROOT/include/halconcpp

Halcon11相对于Halcon10改动相关推荐

  1. Android MVC、MVP和MVVP的概念、运用及区别

    少年不识愁滋味,爱上层楼.爱上层楼,为赋新词强说愁. 而今识尽愁滋味,欲说还休.欲说还休,却道天凉好个秋. 一首辛弃疾的<丑奴儿·书博山道中壁>送给大家 概述 MVC.MVP和MVVM都是 ...

  2. batchnorm原理及代码详解

    转载自:http://www.ishenping.com/ArtInfo/156473.html batchnorm原理及代码详解 原博文 原微信推文 见到原作者的这篇微信小文整理得很详尽.故在csd ...

  3. vue3+vite+element-plus

    最近在学习vue3,尝试用vue3+vite重构了vue-admin-template项目 项目地址 预览地址 如果你使用过vue-admin-template,此项目对你相当于无缝切换. 项目构建 ...

  4. 全面解读Group Normbalization-(吴育昕-何凯明)

    前言 Face book AI research(FAIR)吴育昕-凯明联合推出重磅新作Group Normbalization(GN),提出使用Group Normalization 替代深度学习里 ...

  5. ceph nautilus相对于minic的主要改动

    改动信息 详情可以查看ceph官网nautilus Dashboard功能 增加的新功能 支持多用户 使用SSO的用户验证模式 支持审计模式 新的登录页,可以展示更多的集群健康指标 使用swagger ...

  6. 道器相融,由Angel论一个优秀机器学习平台的自我修养

    *本文首发于 AI前线 ,欢迎转载,并请注明出处. 摘要 2017年6月,腾讯正式开源面向机器学习的第三代高性能计算平台 Angel,在GitHub上备受关注:2017年10月19日,腾讯T4专家An ...

  7. Spring Boot(四):利用devtools实现热部署,改动代码自动生效

    一.前言 spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是速度比手动停止后 ...

  8. halcon11用于C++的HTuple.h头文件,纯手添中文翻译!

    halcon11用于C++的HTuple.h头文件,纯手添中文翻译!乐于分享,请勿在非同意下转载! /************************************************* ...

  9. oracle视图总结(创建、查询、改动、删除等)

    视图定义: - -视图是一种虚表. - -视图建立在已有表的基础上, 视图赖以建立的这些表称为基表. - -向视图提供数据内容的语句为 SELECT 语句, 能够将视图理解为存储起来的 SELECT ...

最新文章

  1. 数据结构之表(5)栈的顺序实现
  2. boost::hana::deque用法的测试程序
  3. unsigned int mysql_mysql 中int类型字段unsigned和signed的探索
  4. LeetCode 1933. 判断字符串是否可分解为值均等的子串
  5. Android Studio 导入 AOSP 源码
  6. 【OpenGL】理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式
  7. 小说和散文在写作语言(表达方式等)方面究竟有多大不同?
  8. mybaitplus 根据id批量进行修改_phpcms小程序插件api接口升级到4.3(新增批量获取、搜索等接口)...
  9. Redis集群命令行部署工具
  10. 多页Excel转换成PDF时如何保存为单独文件
  11. Atitit 解析m4a文件的元数据标签音乐名,歌手 专辑 年代等信息 java版本 目录 1.1. 自己解析mp4 m4a结构 1 1.2. 格式返回 1 1.3. /bookmarksHtmlE
  12. 普元EOS生成WebService时使用自定义实体映射属性
  13. hlw8012电能测量芯片(多组功率电流测量)
  14. 吴伯凡-认知方法论-原始舒适区=0认知
  15. 深度解析反思型Essay怎么写?
  16. STM32使用大彩屏程序总结(二)
  17. 死区4个状态分析,以及死区时间计算
  18. 惠普笔记本按开机键后电源灯亮的,但是屏幕一直是黑的,只有大写锁定键闪烁,闪3次一个循环,听得到风扇...
  19. 记录一个使用imgkit库转图片在windows上可能会出现的问题 iis OSError: [WinError 6] 句柄无效
  20. 系统设计:在线支付系统的需求分析报告

热门文章

  1. CMake简介及使用实例
  2. [原创][Windows] Win7安装visual c++ 2015 redistributable x64失败
  3. 项目管理:CocoaPods建立私有仓库
  4. 按键编码ASCII对照表
  5. 在线PS(PhotoShop),打开PSD文件,图像处理
  6. 基于Yarn的Spark环境,统计哈姆雷特词频(1)
  7. 错误代码: 1066 Not unique table/alias: #39;c#39;
  8. WinSock API相关函数
  9. Goods:查询某个用户的购物车条目以及添加购物车条目
  10. Python学习(六) Python数据类型:字典(重要)