Halcon11相对于Halcon10改动

Halcon11Halcon10C++接口使用

Halcon11Halcon10相比采用了新的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 namespaceHalconCpp;

... ...

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]; HStringCharacters;

... ...

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值