Halcon是一款优秀的商业版图像处理软件,但其在可视化方面有比较差的体验;而Qt在可视化和界面开发方面拥有很强大的功能和便捷性。自己之前做一些软件开发工作,现在又在利用Halcon进行图像处理算法开发,把两者结合使用,岂不是一件非常有趣的事情!
于是乎,从网上查了一下Qt+Halcon联合开发,发现很多写的不清楚或者就是说的比较复杂。其实Halcon自带的官方例程中已经给出了一个Qt+Halcon联合开发的案例,有兴趣的网友可以自己查看。
位置(根据自己Halcon安装位子):
鬼扯了那么多,什么博文,文笔还这么差,看着就吐吐吐……
言归正传
一.问题
Qt下配置Halcon的开发环境
二.解决方案
在此,主要介绍2中Qt下配置Halcon开发环境:
方法1:
同Qt下配置OpenCV的开发环境一样,通过添加库实现。具体步骤“上图”:
懒得自己添加的,可以直接复制,之后将相关路径改为自己Halcon安装路径就OK
1 # *******************************Qt下配置Halcon*****************************
2 INCLUDEPATH += D:/Software/MVTec/HALCON-17.12-Progress/include
3 D:/Software/MVTec/HALCON-17.12-Progress/include/halconcpp
4
5 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalcon
6 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconc
7 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconcpp
8 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconcppxl
9 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconcxl
10 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconxl
11 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhdevenginecpp
12 LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhdevenginecppxl
方法2:
该方法也不算是方法了,但却最简单实用。
因为在安装Halcon的时候已经将Halcon的相关路径添加到系统环境变量中了,所以不需要像方法1一样一个个添加库文件。只需要将下面的内容Ctrl+C到.pro文件中就OK了。
1 # *************************Qt配置Halcon*****************************
2 # MacOS specific settings. Note that while dyld will search under
3 # /Library/Frameworks by default, the preprocessor/compiler/linker will not
4 # and need to be told explicitly.
5 macx {
6 QMAKE_CXXFLAGS += -F/Library/Frameworks
7 QMAKE_LFLAGS += -F/Library/Frameworks
8 LIBS += -framework HALCONCpp
9 }
10 else {
11 #defines
12 win32:DEFINES += WIN32
13
14 #includes
15 INCLUDEPATH += "$$(HALCONROOT)/include"
16 INCLUDEPATH += "$$(HALCONROOT)/include/halconcpp"
17
18 #libs
19 QMAKE_LIBDIR += "$$(HALCONROOT)/lib/$$(HALCONARCH)"
20 unix:LIBS += -lhalconcpp -lhalcon -lXext -lX11 -ldl -lpthread
21 win32:LIBS += "$$(HALCONROOT)/lib/$$(HALCONARCH)/halconcpp.lib"
22 "$$(HALCONROOT)/lib/$$(HALCONARCH)/halcon.lib"
23 }
该配置针对各操作系统都可用。
三.参考
- Halcon官方例程
- 网上各位分享的网友,分享至上