halcon學習筆記——QT和Halcon 11 配置c++混合編程


QT和halcon的配置實驗了一陣,總是不太成功;后來用qt+vs版本的,並且用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)下載安裝個msvc2010,這個自己在網上找資源吧;

         (4)下載安裝halcon11,這個也自己找一下資源吧;

         (5)我的系統是win7+64位,安裝時候先安裝msvc2010,再安裝qt-opensource,再安裝qt-vs就可以,按着操作走就可以;

         (6)以上都安裝完成后,打開msvc2010會看到多QT選項,如下:

          (7)點擊QT5>>QT Options,彈出對話框里點擊添加“add”,將qt目錄里msvc2010添加進去,點擊ok如下圖:

            (8)以上是配置qt+vs;現在配置halcon,在vs添加halcon的頭文件目錄和lib目錄;新建一個qt項目,然后選擇qt項目的屬性,在屬性里面選擇:配置屬性>>vc++目錄>>包含目錄,選擇編輯添加halcon的include目錄如下圖:

       (9)繼續選擇:配置屬性>>vc++目錄>>引用目錄,選擇halcon的lib目錄如下圖:

 

          (10)繼續選擇:配置屬性>>vc++目錄>>庫目錄,同樣選擇halcon的lib目錄;

          (11)選擇:配置屬性>>連接器>>附加庫目錄,同樣選擇halcon的lib目錄;

          (12)以上基本配置完成;可以在main.cpp代碼中添加如下,看看是否成功;這個實例是halcon手冊中,Solution Guide I Basics中,4.1.4 A First Example的一個例子。 

#include <QtWidgets/QApplication>  
#include"Halcon.h"  
#include"cpp/HalconCpp.h"  
#include"halconcpp\HalconCpp.h"  
#include <QPalette>  
#include <QWidget>  
#include <QMessageBox>  
# include <stdio.h>  
  
 using namespace Halcon;  
 using namespace HalconCpp;  
  
int main(int argc, char *argv[])  
{  
    QApplication a(argc, argv);  
    testq w;  
  
    HalconCpp:: HObject  ho_Image, ho_BrightPixels, ho_Particles;  
    HalconCpp:: HTuple  hv_Area, hv_Row, hv_Column,area;  
  
     ReadImage(&ho_Image, "particle");  
     Threshold(ho_Image, &ho_BrightPixels, 120, 255);  
     Connection(ho_BrightPixels, &ho_Particles);  
         AreaCenter(ho_Particles, &hv_Area, &hv_Row, &hv_Column);  
  
      int s0,s1;  
      s0=hv_Area[0];  
      s1=hv_Area[1];  
  
      QMessageBox msgBox;  
      msgBox.setText(QString::number(s0));  
      msgBox.exec();  
      
      QMessageBox msgBox2;  
      msgBox2.setText(QString::number(s1));  
      msgBox2.exec();  
  
    w.show();  
    return a.exec();  
}  

 


       運行時候會彈出AreaCenter的里面第一個聯通區域里的面積,如下圖彈出“1847”:

 

 

       這個“1847”就是Area的第一個至,如halcon中運行下圖所示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM