美文网首页
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