Windows下配置halcon開發環境(win7+halcon12.0+Qt5.9.1)

一、環境搭建

1、下載qt-opensource-windows-x86-5.9.1.exe並安裝,下載鏈接:鏈接:https://pan.baidu.com/s/1UctWCo08X91m2vIJgZvvXw 
提取碼:tjh4 。

2、下載halcon-12.0-windows-64.exe並安裝,下載鏈接:鏈接:https://pan.baidu.com/s/1fqrCDhwq59WQWMW9Os677A 
提取碼:1joa。(內置破解方法)

3、找到halcon安裝目錄,我的暗轉目錄是C:\Program Files\MVTec\HALCON-12.0,分別把lib、include目錄拷貝出來,把bin目錄中的x64-win64目錄下的所有halcon動態庫拷貝出來,放到新建的bin目錄。新的目錄組成如下:

3.1、bin目錄的內容如下:

3.2、include目錄的內容如下:

3.3、lib目錄的內容如下:

4、打開QT新建工程,工程名稱爲test3,下test3.pro配置halcon環境,如下:

剛剛上面從halcon12.0安裝目錄下拷貝出來的目錄,我放到了D:/w/mLib/Halcon目錄,這是我的目錄,你們可以放到自己指定的目錄下就可以。只要配置的時候寫對應的目錄就可以。到此windowns+halcon12.0+Qt5.9.1的開發環境就搭建好了。

二、使用halcon實現二維碼識別。

1、在test3工程的MainWindow.h文件引入halcon庫,如下

2、主要的二維碼識別代碼如下:

void MainWindow::on_tbCheck_clicked()
{
    QTime tm;
    tm.restart();

    int iSize = m_list.size();
    if (iSize > 0)
    {
        QString sCodeType = ui->cbCodeType->currentText();

        m_iLoopId = (m_iLoopId + 1) % iSize; //循環ID
        QString sFileName = ui->lePath->text() + "\\" + m_list.at(m_iLoopId);

        //創建二維碼識別模型
        HImage hImage(sFileName.toUtf8().data());
        HDataCode2D code2d;
        code2d.CreateDataCode2dModel(sCodeType.toUtf8().data(), "default_parameters", "enhanced_recognition");

        //識別二維碼
        Hlong hGenParamValues = 50;   //二維碼個數
        HTuple hResultHandles;        //二位類型
        HTuple hDecodedDataStrings;   //二維碼內容
        code2d.FindDataCode2d(hImage, "stop_after_result_num", hGenParamValues, &hResultHandles, &hDecodedDataStrings);

        QString sText;
        int iSize = hDecodedDataStrings.Num();
        for (int i = 0; i < iSize; i++)
        {
            QString s(hDecodedDataStrings[i].S());
            sText += (s + "\n\n");
        }

        ui->teText->setText(sText);
    }

    QString sTimes = QString::number(tm.elapsed(), 10);
    ui->leTimes->setText(sTimes + " ms");
}

3、測試結果如下:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章