机器视觉10-Qt联合Halcon开发环境配置

机器视觉10-Qt联合Halcon开发环境配置

    • [步骤 1: 安装Halcon软件并授权](#步骤 1: 安装Halcon软件并授权)
    • [步骤 2: 找到Halcon的头文件和lib文件](#步骤 2: 找到Halcon的头文件和lib文件)
    • [步骤 3: 配置VS+QT开发环境,创建一个Qt项目](#步骤 3: 配置VS+QT开发环境,创建一个Qt项目)
      • [安装Visual Studio与QT](#安装Visual Studio与QT)
    • [步骤 4: 将Halcon的头文件和库文件放到程序目录](#步骤 4: 将Halcon的头文件和库文件放到程序目录)
    • [步骤 5: 编写代码](#步骤 5: 编写代码)

在Qt中使用Halcon库进行图像处理开发,可以有效地结合Qt的图形界面和Halcon强大的计算机视觉功能。下面是详细的配置过程,帮助你在Qt项目中成功集成Halcon库

步骤 1: 安装Halcon软件并授权

首先,确保你已经在电脑上安装了Halcon软件,并完成了授权,可以正常使用。安装过程中,Halcon会提供必要的头文件和库文件,后续需要使用到这些文件。

一旦Halcon软件安装完成并授权成功,你就可以开始配置Qt项目,使用Halcon提供的图像处理功能了。

步骤 2: 找到Halcon的头文件和lib文件

安装Halcon软件后,需要找到Halcon的头文件(.h)和库文件(.lib或.dll)。以下是找到这些文件的一些常见路径:

Halcon头文件:通常位于Halcon安装目录下的 include 文件夹中。

Halcon库文件:通常位于Halcon安装目录下的 lib 文件夹中。

举例来说,你可以在安装路径中找到如下内容:

步骤 3: 配置VS+QT开发环境,创建一个Qt项目

安装Visual Studio与QT

  1. 安装Visual Studio 2022

◦ 选择"使用C++的桌面开发"工作负载,勾选以下组件:

▪ MSVC v143 - VS 2022 C++ x64/x86生成工具(兼容v140工具集)

▪ Windows 10 SDK(与Qt 5.10兼容)

◦ 安装路径避免中文和空格,防止路径解析错误。

安装完成后需要安装Qt Visual Studio Tools

• 在VS2022中:扩展 → 管理扩展 → 搜索"Qt Visual Studio Tools" → 安装并重启VS。

• 若安装失败,手动下载qt-vsaddin-msvc2022(https://download.qt.io/official_releases/vsaddin/)安装,或者点击目录下的qt-vsaddin-msvc2022-x64-3.4.1.vsix文件安装

  1. 安装Qt

可按要求安装指定版本QT,步骤类似。

◦ 从Qt官网(https://download.qt.io/archive/qt/5.10/)下载Qt 5.10安装包或者使用此文档目录下的qt-opensource-windows-x86-5.10.0.exe执行文件

◦ 安装时勾选 MSVC 2015 64-bit 组件(对应VS2022的v140工具集)。

◦ 记录安装路径(如 C:\Qt\5.10.0\msvc2015_64)。

  1. 环境变量

(1) 配置系统环境变量

• 添加Qt的MSVC2015_64路径到PATH:

C:\Qt\5.10.0\msvc2015_64\bin

(2). 配置Qt版本

• 重启后:扩展 → Qt VS Tools → Qt Options → Add → 指定qmake路径:

opencv的配置(如果不需要则忽略)

将opencv-2.4.9.zip解压到指定目录中,并记录下路径(比如:D:\opencv-2.4.9\opencv\build\x64\vc10\bin)

C:\Qt\5.10.0\msvc2015_64\bin\qmake.exe

  1. 创建QT项目

打开VS2022

步骤 4: 将Halcon的头文件和库文件放到程序目录

将Halcon的头文件和库文件(如 .h 和 .lib)复制到你的Qt项目的目录下。这一步确保在编译时能够找到这些文件。

打开刚刚新建的项目属性,将头文件目录与库目录添加到项目属性中保证后续在项目中能够引用halcon的接口。

步骤 5: 编写代码

cpp 复制代码
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "HalconCpp.h"
#include <QDebug>
using namespace HalconCpp;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 读入一张图像
    HObject  ho_Image;
    ReadImage(&ho_Image, "1.jpg");

    // 获取图像尺寸
    HTuple hv_width, hv_height;
    GetImageSize(ho_Image, &hv_width, &hv_height);

    // 输出图像尺寸
    qDebug() << "Image Width: " << hv_width.ToString().Text();
    qDebug() << "Image Height: " << hv_height.ToString().Text();
}

MainWindow::~MainWindow()
{
    delete ui;
}

正常编译运行打印,表示配置正常,halcon库可以正常加载

遇到的常见问题

编译器问题:必须使用MSVC编译器。如果使用其他编译器,可能会遇到链接错误或编译失败的问题。

路径问题:确保 .pro 文件中正确配置了Halcon头文件和库文件的路径。

动态库问题:如果使用Halcon的动态库(.dll),确保运行时这些库文件能够被正确加载。你可以将 .dll 文件放在与可执行文件相同的目录下,或者将其路径添加到系统的环境变量中。

相关推荐
xieliyu.4 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
CryptoPP5 小时前
快速对接东京证券交易所API数据:实战指南与代码示例
开发语言·人工智能·windows·python·信息可视化·区块链
ZC跨境爬虫5 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
阳区欠6 小时前
【LangChain】LLM基础介绍
开发语言·python·langchain
Jinkxs6 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链
晨曦中的暮雨7 小时前
Golang速通(Javaer版)
java·开发语言·后端·golang
小小编程路7 小时前
Python 还有容器类型互转、进制转换、字符编码转换
开发语言·windows·python
qeen877 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
CRMEB系统商城7 小时前
CRMEB多商户系统(Java)v2.3公测版发布
java·开发语言·人工智能·小程序·开源·php
动能小子ohhh8 小时前
DocForge平台的设计与开发--文件上传接口的实现
开发语言·人工智能·python·langchain·ocr·fastapi