一、Halcon破解版下載及安裝教程
地址:https://jingyan.baidu.com/article/7082dc1c21a7a7e40a89bd09.html
二、VC配置Halcon
1、項目—》屬性—》c/c++—》常規—》附件包含目錄-》添加/include和/include/halconcpp兩個目錄;
2、鏈接器—》常規—》附加庫目錄—》添加lib/x64_win64目錄;
3、鏈接器—》輸入—》附加依賴項—》編輯爲halconcpp.lib;
4、配置動態鏈接庫,將bin/x64_win64裏所有的dll文件拷貝到項目中,每次新建個項目都需要這麼做較繁瑣,這裏直接在系統環境變量中配置路徑,將該路徑拷貝到系統環境變量的path中,以分號結束即可,第一次需重啓;
5、在vc程序中添加#include“halconcpp.h”頭文件和using namespace HalconCpp命名空間。
至此,halcon在vc中的配置全部結束,但每次新建個項目都需要進行上面的配置太麻煩,可以在項目屬性表裏添加新項目屬性表,保存在一路徑後再在項目屬性表中打開進行上面的配置保存,下次使用直接在項目屬性表中添加現有屬性表,找到該屬性表即可。
三、halcon聯合vc實現圖像的採集顯示
1、在halcon中完成程序的實現,導出爲c++格式;
2、新建項目—》vc++—》MFC,下一步選擇基於對話框點擊完成;
3、配置halcon,添加現有屬性表;
4、打開資源視圖,將對話框中默認的控件刪除,添加自己需要的控件;
5、雙擊button控件,打開消息響應函數,在該函數中添加#include“halconcpp.h”頭文件和using namespace HalconCpp命名空間;
6、將c++格式的halcon程序打開,複製void action()函數裏面的代碼到消息響應函數裏即可。
消息響應函數如下:
//halcon中只用看action裏面的代碼,將其拷過來即可
void CMFCApplication1Dlg::OnBnClickedButton1()
{
//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, "C:/Users/Administrator/Desktop/halcon/第八講、halcon聯合vc/1.jpg");
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());
}
編譯執行,點擊採集圖像按鈕,運行結果入下:
轉:https://blog.csdn.net/qq_24946843/article/details/82079862