(转)Halcon和Qt+VS2017版本配置

作者:abcvincent    地址: https://blog.csdn.net/abcvincent/article/details/52561608

    用Qt+VS2017版本和Halcon17.12的配置的,并且用vs编译器才配合成功,步骤如下。

         (1)首先下载qt-opensource-windows-x86-msvc2010-5.5.1.exe,这个官网上就有;

         (2)下载qt-vs-addin-1.2.4-opensource.exe,这个官网也有,没有可以去这个网站(很全):http://www.qtcn.org/bbs/read-htm-tid-1075.html;

         (3)下载安装个VS2017,这个自己在网上找资源吧;

         (4)下载安装halcon17,这个也自己找一下资源吧;

         (5)我的系统是win7+64位,安装时候先安装VS2017,再安装qt-opensource,再安装qt-vs就可以,按着操作走就可以;

         (6)以上都安装完成后,打开VS2017会看到多QT选项,如图1:

                                                                                                                图1          

         (7)点击QT5>>QT Options,弹出对话框里点击添加“add”,将Qt目录里VS2017添加进去,点击ok如图2:

                                     

                                                                                                             图2

           (8)以上是配置qt+vs;现在配置halcon,在vs添加halcon的头文件目录和lib目录;新建一个qt项目,然后选择qt项目的属性,在属性里面选择:配置属性>>vc++目录>>包含目录,选择编辑添加halcon的include目录如图3:

                                                                                                                 图3       

            (9)继续选择:配置属性>>vc++目录>>引用目录,选择halcon的lib目录如图4:

                                                         

                                                                                                             图4

          (10)继续选择:配置属性>>vc++目录>>库目录,同样选择halcon的lib目录;

          (11)选择:配置属性>>连接器>>附加库目录,同样选择halcon的lib目录;

          (12)以上基本配置完成;可以在main.cpp代码中添加如下,看看是否成功;

           测试配置程序。

          下面这个实例是halcon手册中,Solution Guide I Basics中,4.1.4 A First Example的一个例子。

  1. #include <QtWidgets/QApplication>

  2. #include"Halcon.h"

  3. #include"cpp/HalconCpp.h"

  4. #include"halconcpp\HalconCpp.h"

  5. #include <QPalette>

  6. #include <QWidget>

  7. #include <QMessageBox>

  8. # include <stdio.h>

  9.  
  10. using namespace Halcon;

  11. using namespace HalconCpp;

  12.  
  13. int main(int argc, char *argv[])

  14. {

  15. QApplication a(argc, argv);

  16. testq w;

  17.  
  18. HalconCpp:: HObject ho_Image, ho_BrightPixels, ho_Particles;

  19. HalconCpp:: HTuple hv_Area, hv_Row, hv_Column,area;

  20.  
  21. ReadImage(&ho_Image, "particle");

  22. Threshold(ho_Image, &ho_BrightPixels, 120, 255);

  23. Connection(ho_BrightPixels, &ho_Particles);

  24. AreaCenter(ho_Particles, &hv_Area, &hv_Row, &hv_Column);

  25.  
  26. int s0,s1;

  27. s0=hv_Area[0];

  28. s1=hv_Area[1];

  29.  
  30. QMessageBox msgBox;

  31. msgBox.setText(QString::number(s0));

  32. msgBox.exec();

  33.  
  34. QMessageBox msgBox2;

  35. msgBox2.setText(QString::number(s1));

  36. msgBox2.exec();

  37.  
  38. w.show();

  39. return a.exec();

  40. }


       运行时候会弹出AreaCenter的里面第一个联通区域里的面积,如图5弹出“1847”:

                                                                        图5

       这个“1847”就是Area的第一个至,如halcon中运行图6所示:

                                                                                     图6

猜你喜欢

转载自blog.csdn.net/WarGames_dc/article/details/89278175