在visual studio 2008下配置halcon10.0.docx
文本预览下载声明
2014/8/26MFC和HALCON混合编程在visual studio 2008下配置HALCON10.0新建一个MFC工程文件打开visual studio 2008-文件-新建-项目-Visual C++-MFC-MFC应用程序-输入程序名称-确定点击下一步点击基于对话框点击下一步勾选最小化框,最小化框点击下一步点击下一步点击完成。配置属性在【项目属性】-【配置属性】-【c/c++】-【常规】-【附加包含目录】中添加包含路径:$(HALCONROOT)\include;$(HALCONROOT)\include\cpp注意:这里用的HALCON为10.0。在【项目属性】-【配置属性】-【连接器】-【常规】-【附加库目录】中添加库路径:$(HALCONROOT)\lib\$(HALCONARCH)在【项目属性】-【配置属性】-【连接器】-【输入】-【附加依赖项】中添加库:halconcpp.lib点击确定。生成如下项目:工具-选项-项目和解决方案-VC++目录下,附加库目录和包含文件目录添加库文件如下:$(HALCONROOT)\lib\x86sse2-win32包含文件设置如下:$(HALCONROOT)\include\cpp$(HALCONROOT)\include点击确定。配置完成。把HALCON程序导出到visual Studio 2008在HDevelop中编写的程序,导出为C++。文件-导出选择导出文件所放的位置和类型,并选择导出。本例中导出的halcon程序(c++)所在目录为:C:\Users\Administrator\Desktop\halcon\halcon\halconmfc.cpp在3Dlg.h(头文件中),把原hdevelop程序的变量声明部分放在Rebublic下,如图:// Local iconic variables Hobject File, Region, ConnectedRegions, RegionTrans; Hobject SelectedRegions;// Local control variables HTuple Width, Height, WindowHandle;并在该头文件中添加’halconcpp.h’,并使用命名空间,即:#include “halconcpp.h”using namespace Halcon;如图:在3Dlg.cpp中包含头文件halcon.h,并使用命名空间,即:#include “halconcpp.h”或#include “halcon.h”using namespace Halcon;如图:点击生成-生成解决方案点击调试,出现下图点击读取图像,结果如下(与在HALCON中运行结果一致):点击图像处理:结果如下(与HALCON中结果一致):注意:在visual studio中导出HDevelop程序应该先导出程序,再在visual studio中新建MFC工程并配置。对话框在资源文件下下的halconmfc.rc,如下图所示:要想使图像显示在对话框里,要使用父窗口命令:HlongMainWndID=(Hlong) m_hWnd2014/8/27在MFC/Halcon混合编程中,如何使得读取的图像和处理以后的图像同时并列显示的对话框中?解决过程:在对话框中通过工具栏添加两个图片框:在读取图像的程序下,复制如下代码:CRect rtWindow1; GetDlgItem(ID1)-GetClientRect(rtWindow1);//ID1为第一个图像控件的ID号,第二个窗口类似处理。HWND hImgWnd= GetDlgItem(ID1)-m_hWnd;Hlong MainWndID=(Hlong) m_hWnd;注意:ID1为第一个图像控件的ID号,第二个窗口类似处理,但注意两个窗口的ID号要不同。并且把open_window函数改成如下代码?:open_window(rtWindow1.left, rtWindow1.top, rtWindow1.Width(), rtWindow1.Height(), (Hlong)hImgWnd, visible, , WindowHandle); HDevWindowStack::Push(WindowHandle);即:然后在“图像处理”里面添加如下代码:CRect rtWindow2; GetDlgItem(ID2)-GetClientRect(rtWindow2);//ID1为第一个图像控件的ID号,第二个窗口类似处理。 HWND hImgWnd= GetDlgItem(ID2)-m_hWnd; open_window
显示全部