halcon 11与halcon 10变动
来源:互联网 发布:国资委待遇怎么样知乎 编辑:程序博客网 时间:2024/06/03 17:45
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 namespaceHalcon; usingnamespace HalconCpp;
... ...
b) 代码修改:
i. 函数命名更改,例如:mean_image改为MeanImage
ii. 错误处理要基于异常捕捉
iii. 新版不再支持数组标志Array,例如:HImageArray改为HImage
iv. 使用HString做文字输出
v. 从程序中Hobject移除,替换为HObject(注意下划线部分)
vi. 运算符以及变量命名变更:
//旧版 //新版
GetEnv TupleEnvironment
ToString(pattern) TupleString(pattern)
Subset TupleSelect
Add, Sum,Sin,... TupleAdd,TupleSum, TupleSin, ...
Substring 无
Reset Clear
变更例子:
//旧版 //新版
... ...
Hobject Iconic; HObjectIconic; // upper-case O
HImage Image; HImageImage;
HImageArrayImages; HImage Images;
HRegionArrayRegions; HRegionRegions;
HXLDArray XLDs; HXLD XLDs;
charCharacters[MAX_STRING]; HStringCharacters;
... ...
read_image(&Iconic,"clip") ReadImage(&Iconic,"clip")
long Var; HlongVar;
HTuple Values; HTupleValues;
... ...
Var =Values.Num(); Var= Values.Length();
... ...
备注:#defineHCPP_LEGACY_API可以使用旧的HTuple成员函数
例如:
#defineHCPP_LEGACY_API
HTuple Values; HTupleValues;
... ...
Values.Reset() Values.Reset()// better use Clear()
3) 编译环境更改:
Include路径设定变更
旧版 新版
$HALCONROOT/include/cpp $HALCONROOT/include/halconcpp
- halcon 11与halcon 10变动
- HALCON
- halcon : ::
- HALCON
- VC++2010下调用halcon 10与11库配置
- 【Halcon】Halcon语法 与 《halcon工业应用实用教程》
- 【Halcon】Halcon与OpenCV介绍、比较
- Halcon与C++
- 亚像素与halcon
- halcon与C++的交互
- halcon与VS2013的配置
- halcon与C#混合编程
- halcon与VS2013的配置
- C#与Halcon联合编程
- Qt与halcon联合编程
- 【Halcon】Halcon笔记
- 【Halcon】Halcon笔记
- halcon/c++接口基础 之 构造函数与Halcon算子
- 解决 Eclipse 项目有红感叹号的方法(图文)
- AES - How to do encryption using AES in Openssl
- 跟随贺老师:2011年C++第16周-任务4-文档的自动处理
- 利用OpenWRT的Image Builder修改生成不同大小ROM固件 4MB改8MB 添加package自定义固件
- AtomicInteger的介绍
- halcon 11与halcon 10变动
- 总结windows获取stdint.h和inttypes.h方法
- NSStringCompareOptions
- C# 基础知识
- 对于c++面向对象的深刻认识和理解--哲学角度看问题(源生论)
- IntelliJ IDEA 10.0 使用javac 编译程序出现“非法字符
- ActionBarSherlock与Viewpager及Fragment结合实现仿新闻客户端顶部滑动切换效果
- 解析 @SuppressWarnings的各种参数
- linux下vim和cat命令详解