海康机器人工业相机 Win10+Qt+Cmake 开发环境搭建

文章目录

  • [一. Qt搭建海康机器人工业相机开发环境](#一. Qt搭建海康机器人工业相机开发环境)

一. Qt搭建海康机器人工业相机开发环境

  1. 参考这个链接安装好MVS客户端

  2. Qt新建一个c++项目

  3. cmakeList中添加海康机器人的库,如下:

    bash 复制代码
    cmake_minimum_required(VERSION 3.5)
    
    project(HIKRobotCameraTest LANGUAGES CXX)
    
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    
    # 海康机器人库文件设置
    set(MVC_DIR "C:\\Program Files (x86)\\MVS\\Development")
    set(MVC_INCLUDE_DIRS ${MVC_DIR}\\Includes)
    set(MVC_LIB_DIRS ${MVC_DIR}\\Libraries\\win64)
    include_directories(${MVC_INCLUDE_DIRS})
    link_directories(${MVC_LIB_DIRS})
    
    add_executable(HIKRobotCameraTest main.cpp)
    
    target_link_libraries(${PROJECT_NAME} PUBLIC MvCameraControl)
    
    install(TARGETS HIKRobotCameraTest
        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
  4. main.cpp中添加以下代码

    cpp 复制代码
    #include <iostream>
    #include "MvCameraControl.h"
    #include <stdio.h>
    #include <Windows.h>
    #include <conio.h>
    
    using namespace std;
    
    bool PrintDeviceInfo(MV_CC_DEVICE_INFO* pstMVDevInfo)
    {
        if (NULL == pstMVDevInfo)
        {
            printf("The Pointer of pstMVDevInfo is NULL!\n");
            return false;
        }
        if (pstMVDevInfo->nTLayerType == MV_CAMERALINK_DEVICE)
        {
            printf("chPortID: [%s]\n", pstMVDevInfo->SpecialInfo.stCamLInfo.chPortID);
            printf("chModelName: [%s]\n", pstMVDevInfo->SpecialInfo.stCamLInfo.chModelName);
            printf("chFamilyName: [%s]\n", pstMVDevInfo->SpecialInfo.stCamLInfo.chFamilyName);
            printf("chDeviceVersion: [%s]\n", pstMVDevInfo->SpecialInfo.stCamLInfo.chDeviceVersion);
            printf("chManufacturerName: [%s]\n", pstMVDevInfo->SpecialInfo.stCamLInfo.chManufacturerName);
            printf("Serial Number: [%s]\n", pstMVDevInfo->SpecialInfo.stCamLInfo.chSerialNumber);
        }
        else
        {
            printf("Not support.\n");
        }
    
        return true;
    }
    
    
    int main()
    {
        int nRet = MV_OK;
        void* handle = NULL;
    
        MV_CC_DEVICE_INFO_LIST stDeviceList;
        memset(&stDeviceList, 0, sizeof(MV_CC_DEVICE_INFO_LIST));
        nRet = MV_CC_EnumDevices(MV_CAMERALINK_DEVICE, &stDeviceList);
        if (MV_OK != nRet)
        {
           printf("Enum Devices fail! nRet [0x%x]\n", nRet);
        }
    
        if (stDeviceList.nDeviceNum > 0)
        {
           for (unsigned int i = 0; i < stDeviceList.nDeviceNum; i++)
           {
               printf("[device %d]:\n", i);
               MV_CC_DEVICE_INFO* pDeviceInfo = stDeviceList.pDeviceInfo[i];
               if (NULL == pDeviceInfo)
               {
               }
               PrintDeviceInfo(pDeviceInfo);
           }
        }
        else
        {
           printf("Find No Devices!\n");
        }
    
        return 0;
    }
  5. 运行程序,出现以下内容则说明安装库成功

相关推荐
51camera1 天前
Dalsa线阵工业相机的高性价比之选——Tetra系列
工业相机
格林威1 天前
Baumer相机玻璃制品裂纹自动检测:提高透明材质检测精度的 6 个关键步骤,附 OpenCV+Halcon 实战代码!
人工智能·opencv·视觉检测·材质·工业相机·sdk开发·堡盟相机
格林威2 天前
Baumer相机电池极耳对齐度检测:提升叠片工艺精度的 5 个实用方案,附 OpenCV+Halcon 实战代码!
人工智能·opencv·机器学习·计算机视觉·视觉检测·工业相机·堡盟相机
格林威2 天前
Baumer相机电机转子偏心检测:实现动平衡预判的 5 个核心方法,附 OpenCV+Halcon 实战代码!
人工智能·深度学习·opencv·机器学习·计算机视觉·视觉检测·工业相机
格林威3 天前
Baumer相机轴承滚珠缺失检测:用于精密装配验证的 6 个核心算法,附 OpenCV+Halcon 实战代码!
人工智能·opencv·算法·计算机视觉·视觉检测·工业相机·堡盟相机
格林威4 天前
Baumer相机车牌字符分割与识别:优化车牌识别准确率的 7 种方法,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·视觉检测·halcon·工业相机·智能相机
格林威4 天前
Baumer相机系统延迟测量与补偿:保障实时控制同步性的 5 个核心方法,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·视觉检测·工业相机
格林威5 天前
Baumer相机视野内微小缺陷增强检测:提升亚像素级瑕疵可见性的 7 个核心方法,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·视觉检测·工业相机
格林威7 天前
Baumer相机铆钉安装状态检测:判断铆接是否到位的 5 个核心算法,附 OpenCV+Halcon 的实战代码!
人工智能·opencv·算法·计算机视觉·视觉检测·工业相机·堡盟相机
格林威8 天前
Baumer相机关于触发模式的选择及更改
人工智能·机器学习·视觉检测·工业相机·sdk开发·智能相机·堡盟相机