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、测试结果如下:

 

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