海康机器人图像采集卡安装与使用

news/2024/11/6 11:23:51/

海康机器人图像采集卡安装与使用

  • 1.安装环境要求
    • 1.1主板硬件配置需求
    • 1.2软件安装
      • 1.2.1 MVS软件安装
  • 2.软件使用
    • 2.1枚举相机,取流
  • 3.软件SDK二次开发
    • 3.1基于工业相机SDK,通过GenTL进行二次开发(GIGE采集卡推荐,CXP卡也能使用)
    • 3.2 基于采集卡SDK进行二次开发

本文适用范围,包括海康CoaXPress:GX1004,Gige采集卡:GE1004,Cameralink:GC1002,操作方法,大同小异

1.安装环境要求

1.1主板硬件配置需求

在这里插入图片描述
图为:cxp采集卡
工控机:主板需支持PCIE Gen2 x8,内存8GB及其以上
操作系统:windows7 /10 64bits
(暂不支持linux等其他操作系统)

1.2软件安装

1.2.1 MVS软件安装

驱动下载安装:可以到海康机器人官网下载MVS安装
如有其他版本mvs,建议卸载后重新安装!
如装过MVFG等软件,建议卸载,MVFG已淘汰

默认安装后,安装成功后打开设备管理器,出现采集卡设备即表明安装完成,如下图所示:
CXP6采集卡
图为CXP采集卡
在这里插入图片描述
图为CML采集卡

2.软件使用

2.1枚举相机,取流

打开MVS软件,右键点击客户端中的【GenTL】并点击“选择cti文件”
在这里插入图片描述

路径中选择对应CTI路径:*C:\Program Files (x86)\Common Files\MVS\Runtime\Win64_x64*
在这里插入图片描述
选择“MvFGProducerCML.cti“文件后,在MVS客户端刷新GenTL后就可以枚举到采集卡

在这里插入图片描述
点击采集卡列表右侧链接按钮,打开采集卡,出现采集卡相关参数,以及当前采集卡下面的相机
在这里插入图片描述
点击相机列表右侧链接按钮,即可链接打开相机
在这里插入图片描述

3.软件SDK二次开发

海康自研采集卡二次开发的有两种开发方式,各有优缺点

3.1基于工业相机SDK,通过GenTL进行二次开发(GIGE采集卡推荐,CXP卡也能使用)

CXP开发:
优点:
1.工业相机sdk开发简单,开发节奏快,基于工业网口相机代码,改动量超级小(改动量不超过10行)
2.其他品牌的CXP采集卡,如MIL rapxio系列、kaya,eursys采集卡也可参考BasicDemoByGenTL示例程序进行开发,代码兼容性好
缺点: 暂时无法配置采集卡相关参数,例如通过采集卡触发相机使用不方便(软触发相机,连续出流无此缺点,gige卡无此缺点)
参考工业相机例程BasicDemoByGenTL,
例程路径:“C:\Program Files (x86)\MVS\Development\Samples\VC\VS\BasicDemoByGenTL
在这里插入图片描述
在这里插入图片描述
基于Gentl枚举卡,枚举相机代码

		MV_GENTL_IF_INFO_LIST m_stIFInfoList;memset(&m_stIFInfoList, 0, sizeof(MV_GENTL_IF_INFO_LIST));MV_GENTL_DEV_INFO_LIST m_stDeviceList;memset(&m_stDeviceList, 0, sizeof(MV_GENTL_DEV_INFO_LIST));// ch:基于GenTL枚举Interface | en:Enum Interface Based On GenTLnRet = MV_CC_EnumInterfacesByGenTL(&m_stIFInfoList, "C:/Program Files/KAYA Instruments/Common/bin/KYFGLibGenTL_vc141.cti");if (MV_OK != nRet){printf("Enum InterfacesByGenTL fail! nRet [0x%x]\n", nRet);}if (m_stIFInfoList.nInterfaceNum == 0){printf("nInterfaceNum 0\n");}for (unsigned int i = 0; i < m_stIFInfoList.nInterfaceNum; i++)//打印枚举到的采集卡{char strUserName[256];MV_GENTL_IF_INFO* pstIFInfo = m_stIFInfoList.pIFInfo[i];sprintf_s(strUserName, "Interface[%d]:%s %s (%s) (%d)", i, pstIFInfo->chTLType, pstIFInfo->chInterfaceID, pstIFInfo->chDisplayName, pstIFInfo->nCtiIndex);printf("strUserName:%s\n", strUserName);}// ch:枚举板卡nRet = MV_CC_EnumDevicesByGenTL(m_stIFInfoList.pIFInfo[0], &m_stDeviceList);if (MV_OK != nRet){printf("Enum DevicesByGenTL fail! nRet [0x%x]\n", nRet);}if (m_stDeviceList.nDeviceNum == 0){printf("nDeviceNum 0\n");}// ch:选择设备并创建句柄 | en:Select device and create handleint index = 0;nRet = MV_CC_CreateHandleByGenTL(&handle, m_stDeviceList.pDeviceInfo[index]);if (MV_OK != nRet){printf("Create Handle fail! nRet [0x%x]\n", nRet);}// ch:打开设备 | en:Open devicenRet = MV_CC_OpenDevice(handle);if (MV_OK != nRet){printf("Open Device fail! nRet [0x%x]\n", nRet);}

基于工业相机SDK枚举相机

		// ch:枚举设备 | Enum deviceMV_CC_DEVICE_INFO_LIST stDeviceList;memset(&stDeviceList, 0, sizeof(MV_CC_DEVICE_INFO_LIST));nRet = MV_CC_EnumDevices(MV_GIGE_DEVICE | MV_USB_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){break;} PrintDeviceInfo(pDeviceInfo);            }  } else{printf("Find No Devices!\n");break;}printf("Please Input camera index(0-%d):", stDeviceList.nDeviceNum-1);unsigned int nIndex = 0;scanf_s("%d", &nIndex);if (nIndex >= stDeviceList.nDeviceNum){printf("Input error!\n");}// ch:选择设备并创建句柄 | Select device and create handlenRet = MV_CC_CreateHandle(&handle, stDeviceList.pDeviceInfo[nIndex]);if (MV_OK != nRet){printf("Create Handle fail! nRet [0x%x]\n", nRet);}// ch:打开设备 | Open devicenRet = MV_CC_OpenDevice(handle);if (MV_OK != nRet){printf("Open Device fail! nRet [0x%x]\n", nRet);}

可以对比上面两段代码,在相机打开前,仅少量接口存在差异性,opendevice之后,相机操作,图像获取完全一致,代码开发量较少

3.2 基于采集卡SDK进行二次开发

优点: 能够完全访问控制采集卡所有参数,使用采集卡所有功能
缺点:
1.从0开发,全新理解sdk接口,开发量有点大
2.接口仅能兼容海康采集卡,其他品牌采集卡无法兼容
在这里插入图片描述

采集卡接口调用框架图,白色区域为采集卡相关接口,浅蓝色区域为相机相关接口,浅红色区域为流相关接口,浅绿色为缓存相关接口,绿色区域为用户自定义操作

示例程序路径:C:\Program Files (x86)\MVS\Development\MVFG
在这里插入图片描述


http://www.ppmy.cn/news/195573.html

相关文章

TYPE-C 手机/电脑同时充电直播 视频采集卡方案

Type-C音视频采集卡有什么作用&#xff1f; ​能够帮助专业用户和游戏玩家迅速搭建简单、高性价比的音视频解决方案。可将新闻联播、体育竞赛、视频教学课程、网络视频等&#xff0c;通过HDMI高清视频信号分段或整体录制在本地计算机共享使用。支持多种带HDMI接口的游戏机设备…

如何选择数据采集卡

第一步&#xff0c;选择接口方式。 数据采集卡的接口方式是指该卡与PC连接的总线方式&#xff0c;或者该卡提供的接口方式。常见的接口方式有PCI, Compact PCI,USB, PCMCIA, CAN, 无线&#xff0c;网卡&#xff1b;还有较老式的方式如串口UART/LPT/SPI&#xff0c;并口COM&…

ps4 html5不能试用,PS4主机卡碟,无法取出光盘的处理办法

这是一篇有关PS4主机卡碟&#xff0c;无法取出光盘等问题的解答&#xff0c;更多关于PS4的问题请点此处查询 请输入图片描述 本篇教程涉及拆机(不会造成丢失保修)&#xff0c;不同PS4型号处理方式也不一样&#xff0c;请在教程中找到自己的PS4型号进行操作。PS4厚机(老款)CUH-1…

Ps4手柄隐藏无法识别,PS4手柄没反应

前言&#xff1a;用ps4手柄打微软的游戏是真的烦&#xff0c;各种连接不上&#xff0c;各种b事情。然后前几天手柄莫名其妙识别不到了&#xff0c;查遍百度也找不见&#xff0c;无奈去看ds4windows手柄软件的官方文档&#xff0c;终于修好了&#xff0c;教程如下。 附录有使用p…

matrox 采集卡使用范例

原文链接&#xff1a;http://www.cnblogs.com/wjy-lulu/p/7241069.html 收起 说明&#xff1a; 本系列博文是我自己研究生课题&#xff0c;采用做一步记录一步&#xff0c;在论文答辩结束或者机器设计结束之后才会附上源代码&#xff01; 以前都是用opencv&#xff0c;直接拿个…

PS4游戏资源查找指南

PS4游戏资源查找指南 起因想偶尔玩玩合金弹头-16合集 不想装R4模拟器 755破解ftp传文件不稳定 容易导致系统异常 崩溃 1.91wii搜索 https://www.91wii.com/search.php?modforum 找到 但是资源已经不在了 2.游戏Excel搜索 PS4老游戏资源检索532个游戏 6TB资源总有你想要…

linux免采集卡直播ps4,转播篇_XBOXONE/PS4免采集卡直播教程 - 跑跑车主机频道

第 3 页 转播篇 转播篇&#xff1a; 转播的意思&#xff0c;就是接住从虚拟机推过来的信号&#xff0c;然后让这些本应被推去TWITCH进行直播的信号&#xff0c;被转推去其他直播平台。 首先&#xff0c;在电脑上安装工具包中的OBS。 然后&#xff0c;在“OBS文件夹”下的“VM转…

JavaSE-- 抽象类和接口(上)

抽象类和接口&#xff08;上&#xff09; 一丶抽象类写法特性 1. 抽 象 类 不 能 直 接 实 例 化 对 象 \color{red}{1.抽象类不能直接实例化对象} 1.抽象类不能直接实例化对象 2. 抽 象 方 法 不 能 是 p r i v a t e 的 \color{red}{2. 抽象方法不能是 private 的} 2.抽象方法…