【机器视觉】Qt集成Halcon开发环境详解(二)
00. 目錄
文章目錄
- 00. 目錄
- 01. 概述
- 02. Halcon動態庫配置方案一
- 03. Halcon動態庫配置方案二
- 04. 問題討論
- 05. 附錄
01. 概述
Qt中集成Halcon開發環境有兩種配置方案。第一種方案是使用環境變量來代替路徑,并考慮平臺移植問題。第二種方案是第三方庫的使用,將用到的頭文件和庫直接打包到項目中,不用在客戶機安裝Halcon軟件。
02. Halcon動態庫配置方案一
配置簡單,但移植后的機器需要安裝Halcon軟件。
2.1安裝Halcon的環境變量
HALCONROOT代表當前環境下Halcon安裝根目錄。
HALCONARCH代表當前環境下Halcon的架構名稱
2.2 配置Halcon頭文件和庫
# HALCON/Qt pattern matching and measure example # # (c) 2004-2019 MVTec Software GmbH# matching.pro #CONFIG += qt debug QT += core gui widgets#defines win32:DEFINES += WIN32#includes 指定Halcon頭文件所在目錄 INCLUDEPATH += "$$(HALCONROOT)/include" INCLUDEPATH += "$$(HALCONROOT)/include/halconcpp"#libs 指定Halcon所需的庫 QMAKE_LIBDIR += "$$(HALCONROOT)/lib/$$(HALCONARCH)" unix:LIBS += -lhalconcpp -lhalcon -lXext -lX11 -ldl -lpthread win32:LIBS += "$$(HALCONROOT)/lib/$$(HALCONARCH)/halconcpp.lib" \"$$(HALCONROOT)/lib/$$(HALCONARCH)/halcon.lib"#sources HEADERS += qhalconwindow.h HEADERS += matching.h SOURCES += qhalconwindow.cpp SOURCES += matching.cpp SOURCES += main.cpp或者
# matching.pro #CONFIG += qt debug QT += core gui widgets#defines win32:DEFINES += WIN32#includes 指定Halcon頭文件所在目錄 INCLUDEPATH += "$$(HALCONROOT)/include" INCLUDEPATH += "$$(HALCONROOT)/include/halconcpp"#libs 指定Halcon所需的庫 QMAKE_LIBDIR += "$$(HALCONROOT)/lib/$$(HALCONARCH)" unix:LIBS += -lhalconcpp -lhalcon -lXext -lX11 -ldl -lpthread win32:LIBS += halconcpp.lib halcon.lib#sources HEADERS += qhalconwindow.h HEADERS += matching.h SOURCES += qhalconwindow.cpp SOURCES += matching.cpp SOURCES += main.cpp2.3 編譯測試
2.4 運行結果
溫馨提示
配置時建議使用環境變量來代替路徑,并考慮平臺移植問題
溫馨提示
C:\Users\Public\Documents\MVTec\HALCON-19.11-Progress\examples\cpp\qt\Matching
03. Halcon動態庫配置方案二
第三方庫的使用,將用到的頭文件和庫直接打包到項目中,這種情況下不需要在客戶機安裝Halcon軟件。
3.1在Qt項目目錄中創建include和lib目錄
3.2 將MVTec\HALCON-19.11-Progress\include目錄下所有的文件拷貝到新建的include目錄下。
3.3 將MVTec\HALCON-19.11-Progress\lib\x64-win64目錄下所有的文件拷貝到新建的lib目錄下。
3.4 找到MVTec\HALCON-19.11-Progress\bin\x64-win64與lib文件下*.lib文件重名的*.dll文件,并復制到新建的lib文件下
實際上只用到了一下幾個文件
3.5 添加庫
3.6 添加外部庫,點擊下一步
3.7 添加halconcpp庫的配置
3.8 添加halcon庫的配置
3.9 添加halcon相關頭文件的目錄
# matching.pro #CONFIG += qt debug QT += core gui widgets#defines win32:DEFINES += WIN32#sources HEADERS += qhalconwindow.h HEADERS += matching.h SOURCES += qhalconwindow.cpp SOURCES += matching.cpp SOURCES += main.cppINCLUDEPATH += $$PWD/include INCLUDEPATH += $$PWD/include/halconcppwin32: LIBS += -L$$PWD/lib/ -lhalconcppINCLUDEPATH += $$PWD/lib DEPENDPATH += $$PWD/libwin32: LIBS += -L$$PWD/lib/ -lhalconINCLUDEPATH += $$PWD/lib DEPENDPATH += $$PWD/lib溫馨提示
PWD指的是項目所在路徑
3.10 編譯,運行結果如下
04. 問題討論
4.1 出現Error #5190: HALCON error #5190: Invalid window parameter錯誤
錯誤提示如下:
解決辦法:
SetWindowParam函數需要依賴動態庫文件hcanvas.dll,把該庫從C:\Program Files\MVTec\HALCON-19.11-Progress\bin\x64-win64拷貝到自己的項目路徑lib目錄下。
05. 附錄
5.1 測試代碼下載
下載:Halcon應用示例Matching.rar
5.2 參考博客
博客:Qt+Halcon筆記(1)—— 環境配置(兩種方案,博主親測)
總結
以上是生活随笔為你收集整理的【机器视觉】Qt集成Halcon开发环境详解(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器视觉】Qt集成Halcon开发环境
- 下一篇: 【机器视觉】Qt联合Halcon编程之显