当前位置: 首页 > news >正文

Qt联合Halcon开发四:【详细图解】海康相机配置并链接测试

1. 下载与安装海康 MVS SDK

首先,访问海康机器人官网的下载中心,选择 “Machine Vision” 模块下的 MVS 软件包。

1. 打开浏览器,进入:https://www.hikrobotics.com/cn/

2. 下载最新版的 MVS 安装包(通常以 MVS_x.x.x_x64.exe 命名)。

3. 双击运行安装程序,按照默认路径安装即可。这会在系统中部署所需的动态链接库、示例程序以及文档。

2. 查找与准备运行时库

安装完成后,进入安装目录(默认为 C:\Program Files\HikRobotics\MVS\Runtime),你会看到一系列 .dll.lib 文件:

  • DLL 目录:包含各类动态库,如 MvCameraControl.dllGenApi.dll 等。
  • LIB 目录:静态库文件,可供链接器使用。

请记下这两个目录的完整路径,后续在 Qt 工程中需要引用。


3. 在 Qt 项目中配置 SDK

在 Qt Creator 中打开你的工程(.pro 文件)。在文件末尾添加以下配置:

# HikVision 相机 SDK 路径
# #############################################################
#
# load HikVision Camera SDK
#
# #############################################################INCLUDEPATH+=".\libary\camera\Includes"
LIBS+=".\libary\camera\Libraries\CLAllSerial_MD_VC120_v3_0.lib"
LIBS+=".\libary\camera\Libraries\CLProtocol_MD_VC120_v3_0.lib"
LIBS+=".\libary\camera\Libraries\CLSerCOM.lib"
LIBS+=".\libary\camera\Libraries\GCBase_MD_VC120_v3_0.lib"
LIBS+=".\libary\camera\Libraries\GenApi_MD_VC120_v3_0.lib"
LIBS+=".\libary\camera\Libraries\GenCP_MD_VC120_v3_0.lib"
LIBS+=".\libary\camera\Libraries\Log_MD_VC120_v3_0.lib"
LIBS+=".\libary\camera\Libraries\log4cpp_MD_VC120_v3_0.lib"
LIBS+=".\libary\camera\Libraries\MvCameraControl.lib"
LIBS+=".\libary\camera\Libraries\XmlParser_MD_VC120_v3_0.lib"

若使用 Halcon 也需类似配置 Halcon 的包含路径和库路径,具体可参照 Halcon 环境配置文章。


4. 示例代码:查找并打印相机序列号

在主函数中调用 MVS SDK 接口,枚举网络或 USB 相机,并打印其序列号:

#include <QApplication>
#include <QDebug>
#include "MvCameraControl.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);MV_CC_DEVICE_INFO_LIST cameraList;bool isGige = true;  // true:枚举 GigE 相机;false:枚举 USB 相机int nRet = MV_CC_EnumDevices(isGige ? MV_GIGE_DEVICE : MV_USB_DEVICE,&cameraList);if (nRet != MV_OK) {qCritical() << "枚举相机失败,错误码:" << nRet;return -1;}if (cameraList.nDeviceNum == 0) {qWarning() << "未检测到任何相机";return -1;}for (int i = 0; i < cameraList.nDeviceNum; ++i) {const char* serial = isGige? reinterpret_cast<char*>(cameraList.pDeviceInfo[i]->SpecialInfo.stGigEInfo.chSerialNumber): reinterpret_cast<char*>(cameraList.pDeviceInfo[i]->SpecialInfo.stUsb3VInfo.chSerialNumber);qDebug() << "查找到相机序列号:" << serial;}return a.exec();
}

编译并运行该程序,若控制台中能正常打印出相机的序列号,即表示 SDK 环境配置成功。


5. 小结与常见问题

  • 找不到头文件:请确认 INCLUDEPATH 已正确指向 Includes 目录。
  • 链接错误:检查 .lib 文件名称与版本;若使用不同编译器或架构(x86/x64),需对应版本库。
  • 运行缺少 DLL:运行时拷贝所有 Bin 下的 DLL 到 exe 目录,或添加到系统 PATH
  • Halcon 集成:在同一工程中配置 Halcon 库时,注意 Halcon 的头文件版本与 MVS SDK 不冲突。

按照以上步骤,便可顺利在 Qt/Halcon 项目中集成海康 MVS 相机 SDK,实现相机的枚举与控制。祝开发顺利!

http://www.lqws.cn/news/488899.html

相关文章:

  • Zynq + FreeRTOS + YAFFS2 + SQLite3 集成指南
  • Windows电脑数据恢复终极指南:从原理到实战
  • el-cascader 设置可以手动输入也可以下拉选择
  • 性能监控与智能诊断系统的全流程
  • (LeetCode 面试经典 150 题) 27.移除元素
  • Java 类加载机制详解
  • Spring AI 项目实战(十二):Spring Boot +AI + DeepSeek + 百度OCR 公司发票智能处理系统的技术实践(附完整源码)
  • C++11 <array>从入门到精通
  • Git新建分支并同步到远程
  • 终端创建虚拟环境
  • Blazor-内置输入组件
  • 华为云 Flexus+DeepSeek 征文|增值税发票智能提取小工具:基于大模型的自动化信息解析实践
  • 2025 年焊接相机十大品牌测评:抗光耐高温解决方案深度解析
  • Three.js入门第一步:两种方式搭建你的3D项目[特殊字符]️
  • CentOS 上安装snmp
  • mac隐藏文件现身快捷键
  • 从 0 到 1 实现 C++ string 类:深入理解动态字符串的底层机制--《Hello C++ Wrold!》(11)--(C/C++)
  • 编程实践:sigmastar330 调用IVE图像处理加速
  • Linux密码校验机制深度剖析:从shadow文件到crypt加密
  • PicHome结合容器化与内网穿透实现跨平台影像管理
  • 使用docx4j 实现word转pdf(linux乱码处理)
  • 支持java8的kafka版本
  • Halcon ——— OCR字符提取与多类型识别技术详解
  • Python Arrow 库详解:更智能的日期时间处理
  • 北京他山科技:全球首款AI触觉感知芯片破局者
  • 七八章习题测试
  • 半导体行业中的专用标准产品ASSP是什么?
  • SRS(Simple Realtime Server) 开源直播/双录服务器
  • 商品中心—11.商品B端搜索系统的实现文档二
  • 嵌入式系统内核镜像相关(六)