vs联合halcon配置
https://blog.csdn.net/u010881576/article/details/73649308
vs框架
1.创建窗口类
2.注册窗口类
3.创建窗口
4.更新显示窗口
5.消息映射机制
6.退出程序
软件编程
1.UI界面层
2.业务逻辑
3.数据层
vs联合halcon显示图片
1.打开halcon,编写图像显示代码或图像处理代码
read_image (Image, 'E:/中策/0308/030801/1')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle)
dev_display (Image)
2.用下面按钮将代码导出
选择导出目录和导出语言,选C++
3.基于对话框,新建MFC文件,取名为test1。用Picture_Control控件添加一个图像显示控件,并更改ID为IDC_PICTURE,添加一个按钮,并设置名称为采集图像。右键导出的文件,用vs2017打开。
4.配置vs2017和halcon
选择项目——属性,并按以下方式进行配置
将dll文件导入程序所在文件中:
dll文件所在目录:E:\halcon\bin\x64-win64
5.右键halcon导出的文件,用vs2017打开。
导入halcon的.h文件到test1Dlg.cpp,并添加halcon的命名空间。
using namespace HalconCpp;
在halcon的程序中找到action()函数,将以上变量复制到test1Dlg.cpp文件中,设置为全局变量,如下所示:
双击按钮,添加点击事件,将halcon中的程序复制到按钮点击事件中:
void Ctest1Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
ReadImage(&ho_Image, "E:/中策/0308/030801/1");
GetImageSize(ho_Image, &hv_Width, &hv_Height);
SetWindowAttr("background_color", "black");
HWND hwnd1;//定义窗口
CRect rect;//定义区域
GetDlgItem(IDC_PICTURE)->GetWindowRect(&rect);
hwnd1 = GetDlgItem(IDC_PICTURE)->m_hWnd;
LONG lWWindowID = (LONG)hwnd1;
m_height[0] = rect.Height();
m_width[0] = rect.Width();
OpenWindow(0, 0, m_height, m_width, lWWindowID, "visible", "", &hv_WindowHandle);
HDevWindowStack::Push(hv_WindowHandle);
if (HDevWindowStack::IsOpen())
DispObj(ho_Image, HDevWindowStack::GetActive());
}