美文网首页
MFC中使用halcon

MFC中使用halcon

作者: 卡拉肖克_潘 | 来源:发表于2020-05-28 04:41 被阅读0次

一、新建MFC的dialog工程
二、配置halcon环境
vc++目录--包含目录:C:\Program Files\MVTec\HALCON-12.0\include
C:\Program Files\MVTec\HALCON-12.0\include\halconcpp
库目录:C:\Program Files\MVTec\HALCON-12.0\lib\x64-win64
附加依赖项:halconcpp.lib
三、打开资源视图,添加按钮控件和图像控件
四、添加#include“halconcpp.h”头文件和using namespace HalconCpp命名空间;
五、在按钮控件的消息响应函数中添加如下代码

    //halcon中只有图像、区域、XLD为Object类型,其余都为Tuple类型   
    HObject  ho_Image1;
    HTuple  hv_Width, hv_Height, hv_WindowHandle, kuan, gao;

    //定义一个句柄
    HWND hwnd;
    //GetDlgItem(ID号),通过ID号得到该控件,通过指针访问其成员变量    
    //每个控件都有个成员变量m_hWnd,即该控件的句柄,
    hwnd = GetDlgItem(IDC_STATIC)->m_hWnd;
    //强制类型转化
    LONG windowID = (LONG)hwnd;

    //定义一个矩形变量
    CRect rect;
    GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);
    kuan[0] = rect.Width();
    gao[0] = rect.Height();

    ReadImage(&ho_Image1, "screw_thread");
    GetImageSize(ho_Image1, &hv_Width, &hv_Height);
    SetWindowAttr("background_color", "black");

    //得到控件的句柄,放入第五个参数,即在该控件上打开一个窗口,
    //获得控件窗口的宽和高,分别放入第三、四个参数,则图像在整个控件窗口上显示
    OpenWindow(0, 0, kuan[0], gao[0], windowID, "", "", &hv_WindowHandle);

    HDevWindowStack::Push(hv_WindowHandle);
    if (HDevWindowStack::IsOpen())
        DispObj(ho_Image1, HDevWindowStack::GetActive());

六、显示效果


相关文章

网友评论

      本文标题:MFC中使用halcon

      本文链接:https://www.haomeiwen.com/subject/qugnahtx.html