Halcon视觉之家 - 51Halcon专注于机器视觉技术

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 4589|回复: 5

[资料] VC中Halcon 13中HObject和Hobject的关系?

[复制链接]
  • TA的每日心情
    开心
    前天 09:30
  • 签到天数: 1263 天

    连续签到: 6 天

    [LV.10]以坛为家III

    417

    主题

    1720

    帖子

    6197

    积分

    Rank: 9

    积分
    6197

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2018-1-27 15:35:25 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
          首先,MVTec公司为了兼容旧版本的使用规则,所以开发了一些API给我们去调用,下面安按照VC配置来讲解变化。
    头文件目录:
    1. Halcon13\include\
    2. Halcon13\include\halconcpp
    复制代码

    而支持旧版本的头文件目录是
    1. Halcon13\include\
    2. Halcon13\include\cpp
    复制代码


    其次就是引用的lib:
    1. halcon.lib;halconcpp.lib;
    复制代码

    而支持旧版本引用的lib为:
    1. halcon.lib;halconcpp10.lib
    复制代码


    最后就是要加入的头文件名称和命名空间声明了:
    1. #include "HalconCpp.h"
    2. using namespace HalconCpp;
    复制代码

    这部分将会导致后面声明类型的变化:
    1. HObject  m_Image;
    2. HTuple  m_AcqHandle;
    复制代码

    其中HObject中Object变成了大写,其他的控制类型没有变化,所有的函数也变成驼峰法命名的方法了,比如:
    1. OpenWindow(0,0,rect.Width(),rect.Height(),(Hlong)m_hWndView,"","",&m_hWndImage);
    复制代码

    旧版的函数是:
    1. open_window(0,0,rect.Width(),rect.Height(),(Hlong)m_hWndView,"","",&m_hWndImage);
    复制代码


    那么问题来了,如果我想用原来旧版本的函数和声明可以吗???
    答案是,肯定可以的,Halcon为了达到兼容,所以开放了宏定义去支持旧版本的函数和API声明:
    1. #define HCPP_LEGACY_API
    2. #define HCPP_LEGACY_NAMESPACE
    3. #include "HalconCpp.h"
    4. using namespace HalconCpp;
    复制代码

    把这两个加载在调用Halcon头文件之前就可以了。那么你就可以继续使用Hobject和类似open_window这样的旧函数了,是不是很方便!当然,随着版本的升高,大家也要习惯新版本带来的变化和改进呢!

    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情

    2018-5-16 07:46
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    0

    主题

    11

    帖子

    496

    积分

    Rank: 2Rank: 2

    积分
    496
    发表于 2018-1-31 10:20:09 | 显示全部楼层
    如果是12版本采集的图像,是Hobject,处理时用13版本,是HObject,两者之间该怎么转换呢?
  • TA的每日心情
    开心
    前天 09:30
  • 签到天数: 1263 天

    连续签到: 6 天

    [LV.10]以坛为家III

    417

    主题

    1720

    帖子

    6197

    积分

    Rank: 9

    积分
    6197

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

     楼主| 发表于 2018-1-31 11:13:52 | 显示全部楼层
    高小超 发表于 2018-1-31 10:20
    如果是12版本采集的图像,是Hobject,处理时用13版本,是HObject,两者之间该怎么转换呢? ...

    尽量在一个程序中都用一种规格,像你这种情况下,可以声明上面的宏定义进行解决,把旧的Hobject内容重新拷贝给新的HObject。
    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情
    无聊
    昨天 16:41
  • 签到天数: 753 天

    连续签到: 1 天

    [LV.10]以坛为家III

    32

    主题

    225

    帖子

    1562

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    1562

    活跃会员优秀版主切换助手验证会员

    发表于 2018-2-2 08:55:01 | 显示全部楼层
    谢谢楼主分享,学习一下

    该用户从未签到

    0

    主题

    1

    帖子

    7

    积分

    Rank: 1

    积分
    7
    发表于 2020-3-9 21:01:33 | 显示全部楼层
    楼主,十万火急,为什么同样程序代码,halcon10版本速度就是比halcon13版快呢,13版速度慢很多
  • TA的每日心情
    奋斗
    2021-9-30 17:29
  • 签到天数: 114 天

    连续签到: 1 天

    [LV.6]常住居民II

    36

    主题

    145

    帖子

    4510

    积分

    Rank: 7Rank: 7Rank: 7

    积分
    4510

    切换助手验证会员

    发表于 2020-3-9 22:58:05 | 显示全部楼层
    相逢是坨屎 发表于 2020-3-9 21:01
    楼主,十万火急,为什么同样程序代码,halcon10版本速度就是比halcon13版快呢,13版速度慢很多 ...

    都是和谐版吗?可能是因为10比13河蟹更完全,当然还有可能是13做了算法改进和冗余防呆,导致后者会比前者慢一些!
    您需要登录后才可以回帖 登录 | 会员注册

    本版积分规则

    视觉培训招生

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    算子查询| 申请友链| 小黑屋| 手机版| Archiver|

    © 2015-2021 51Halcon机器视觉  X3.4  粤ICP备15095995号 粤公网安备44030602000670号

    快速回复 返回顶部 返回列表