开启左侧

【求助】大家有没有Halcon与VC之间变量转换的资料~

[复制链接]
WeyCharry 发表于 2019-3-8 10:05:09 | 显示全部楼层 |阅读模式
本帖最后由 WeyCharry 于 2019-3-12 19:30 编辑

第一次用halcon联合VC++编程,遇到不少问题,求助大家。
1.程序获得了一个HObject类型的轮廓,然后我想显示在我的窗口上,窗口是已经存在的,我想使用disp_obj()这个函数,直接把窗口句柄传给第二个参数,但是HWND不能直接转换成HTuple类型,请问这种情况有什么好的解决方法~。 (求Halcon与Vc++变量之间转换的资料。)


有个新的问题要请教大牛~
我在vc++中使用disp_message报错,显示未定义标识符,我翻了翻halcon的头文件里面,确实没有定义这个函数,但是我用vax的快捷键可以看到函数的参数信息,这是为什么?~

在网上找了资料,好像disp_message用不了,请问有什么好的替代方法,需要控制输出的字符串的位置~

无标题.png
Criss 发表于 2019-3-8 10:41:23 | 显示全部楼层
HWND是窗口控件的句柄,是没法在Halcon里面使用的,Halcon里面依赖open_window打开的窗口句柄来实现,楼主可以参考https://www.51halcon.com/thread-627-1-1.html 里面有代码:
  1. CRect rect;
  2. GetDlgItem(IDC_STATIC_VIEW)->GetWindowRect(rect);
  3. m_ViewWnd = GetDlgItem(IDC_STATIC_VIEW)->GetSafeHwnd();
  4. open_window(0,0,rect.Width(),rect.Height(),(Hlong)m_ViewWnd,"transparent","",&m_ImageWndHandle);
复制代码

这样你就可以直接用m_ImageWndHandle句柄显示了!
 楼主| WeyCharry 发表于 2019-3-8 11:22:25 | 显示全部楼层
Criss 发表于 2019-3-8 10:41
HWND是窗口控件的句柄,是没法在Halcon里面使用的,Halcon里面依赖open_window打开的窗口句柄来实现,楼主 ...

我有一个窗口是显示采集视频的,我直接用的GDI将相机图像贴在那个窗口上,现在想将匹配到的轮廓也贴上去,如果用open_window的话,会把原本的窗口给覆盖。
HObject的轮廓可以转换成BYTE*什么的吗?还是我显示视频的时候就使用disp_obj()比较好。

感谢回复~
绝地武士 发表于 2019-3-8 14:53:07 | 显示全部楼层
WeyCharry 发表于 2019-3-8 11:22
我有一个窗口是显示采集视频的,我直接用的GDI将相机图像贴在那个窗口上,现在想将匹配到的轮廓也贴上去 ...

Hobject本身就是图像缓存指针,可以从里面拿出来图像数据的,你用Halcon直接显示视频也是可以的!
 楼主| WeyCharry 发表于 2019-3-13 09:32:38 | 显示全部楼层
有个新的问题要请教大牛~
我在vc++中使用disp_message报错,显示未定义标识符,我翻了翻halcon的头文件里面,确实没有定义这个函数,但是我用vax的快捷键可以看到函数的参数信息,这是为什么?~

在网上找了资料,好像disp_message用不了,请问有什么好的替代方法,需要控制输出的字符串的位置~

无标题.png

路过的大腿帮忙看看{:6_192:}

 楼主| WeyCharry 发表于 2019-3-20 12:08:43 | 显示全部楼层
Criss 发表于 2019-3-8 10:41
HWND是窗口控件的句柄,是没法在Halcon里面使用的,Halcon里面依赖open_window打开的窗口句柄来实现,楼主 ...

大牛帮忙看看disp_message函数的问题~
万分感谢~
 楼主| WeyCharry 发表于 2019-3-20 12:09:09 | 显示全部楼层
绝地武士 发表于 2019-3-8 14:53
Hobject本身就是图像缓存指针,可以从里面拿出来图像数据的,你用Halcon直接显示视频也是可以的! ...

大牛帮忙看看disp_message函数的问题~
万分感谢~
绝地武士 发表于 2019-3-20 21:04:34 | 显示全部楼层
WeyCharry 发表于 2019-3-20 12:09
大牛帮忙看看disp_message函数的问题~
万分感谢~

disp_message属于halcon自带的外部函数,你在导出函数的时候会将定义一并导出,程序中加入disp_message导出的实现代码就可以引用了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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