海康工业相机SDK连接demo,Qt界面显示

这篇具有很好参考价值的文章主要介绍了海康工业相机SDK连接demo,Qt界面显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在机器视觉开发过程中,经常使用工业相机采集图像,以下采用海康机器人提供的SDK开发demo,使用语言C++,界面显示使用的Qt。SDK来自MVS 3.1版本中附属的Development文件夹。完整的项目链接地址为:
海康工业相机SDK的Demo源代码C++版本
附录海康工业相机的命名方式:
海康相机demo,图像处理,开发语言
海康工业相机的开发流程一般为:
海康相机demo,图像处理,开发语言

详细开发流程主要代码

1.搜索并选择相机。MV_CC_DEVICE_INFO_LIST是设备结构体 。海康的设备结构体与图像结构体是分开的。一个是硬件设备相关,一个是图像信息相关。

MV_CC_DEVICE_INFO_LIST stDeviceList;
memset(&stDeviceList,0,sizeof(MV_CC_DEVICE_INFO_LIST));
//----------------1.列举设备---------------------
iRet = MV_CC_EnumDevices(MV_GIGE_DEVICE | MV_USB_DEVICE ,&stDeviceList);
if(MV_OK != iRet)
{
   return;
}
//相机个数
int iNumber = stDeviceList.nDeviceNum;
MV_CC_DEVICE_INFO *pDeviceInfo = new MV_CC_DEVICE_INFO;
if(stDeviceList.nDeviceNum>0)
{
   for(unsigned int i =0;i<stDeviceList.nDeviceNum;i++)
   {
       pDeviceInfo = stDeviceList.pDeviceInfo[i];
       if(NULL == pDeviceInfo)
       {
           break;
       }
   }
}
else
{
   return;
}
'C' == pDeviceInfo->SpecialInfo.stUsb3VInfo.chModelName[12] ? isColor = true : isColor = false;
//---------------2.选择设备并创建句柄---------------
//选择第一个设备
iRet = MV_CC_CreateHandle(&cameraHandle,stDeviceList.pDeviceInfo[0]);
if(MV_OK != iRet)
{
    return;
}

2.打开相机并创建句柄

//------------------3.打开相机----------------------
iRet = MV_CC_OpenDevice(cameraHandle);
//------------------4.获取图像宽和高----------------
MVCC_INTVALUE ptValue;
MV_CC_GetWidth(cameraHandle,&ptValue);
imageWidth = ptValue.nCurValue;
MV_CC_GetHeight(cameraHandle,&ptValue);
imageHeight = ptValue.nCurValue;

3.设置采集模式。在工业相机领域,触发模式分为内外触发。在默认情况下,是关闭触发模式,相机此时出的是视频流;软触发可以理解为拍照片,点击一下,采集一张照片;硬触发是外部触发,外部发触发信号,相机采集一张图像;

//------------------5.设置采集模式--------------
QString qsAcquisitionMode = ui.acquisitionModeCombo ->currentText();
if("连续采集模式"==qsAcquisitionMode)
{
     //开启连续采集模式,即触发模式关闭,连续采集
     iRet = MV_CC_SetEnumValue(cameraHandle,"TriggerMode",MV_TRIGGER_MODE_OFF);
}
else if("触发模式" == qsAcquisitionMode)
{
   //开启触发模式,即触发模式开启
   MV_CC_SetEnumValue(cameraHandle,"TriggerMode",MV_TRIGGER_MODE_OFF);
}

4.设置触发源

//---------------6.设置触发源-----------------
QString qsTriggerSource = ui.triggerSourceCombo->currentText();
if("软触发"==qsTriggerSource)
{
   //开启软触发模式
   iRet = MV_CC_SetEnumValue(cameraHandle,"TriggerSource",7);
}
else
{ 
   //其余触发模式暂不处理
   return;
}

5.修改相机参数(这里必须是相机打开后才能修改参数)

//------------7.设置相机曝光,增益等相关参数---------
int iExposureTime = ui.exposureEdit->text().toInt();
iRet = MV_CC_SetEnumValue(cameraHandle,"ExposureTime",iExposureTime);
int iGain = ui.gainEdit->text().toInt();
iRet = MV_CC_SetEnumValue(cameraHandle,"Gain",iExposureTime);

6.开始采集(可以自行设置图像显示的线程与显示像素的格式)

//开启采集
if(isGrabing)
{
   isGrabing = true;
   iRet = MV_CC_StartGrabbing(cameraHandle);
}

7.关闭采集,即关闭视频流

if(isGrabing)
{
   iRet = MV_CC_StopGrabbing(cameraHandle);
}
isGrabing = false;

8.关闭相机,这里需要在关闭相机后释放相关内存

//---------------最后一步,关闭相机------------------
//关闭设备
iRet = MV_CC_CloseDevice(cameraHandle);
//释放句柄
iRet = MV_CC_DestroyHandle(cameraHandle);

软件界面为
海康相机demo,图像处理,开发语言文章来源地址https://www.toymoban.com/news/detail-547360.html

到了这里,关于海康工业相机SDK连接demo,Qt界面显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (二)Qt下多线程实现多个海康工业相机内触发采集回调取流显示

    提示:这里是该系列文章的所有文章的目录 第一章:(一)Qt下实现多个海康工业相机内触发采集回调取流显示 第二章:(二)Qt下多线程实现多个海康工业相机内触发采集回调取流显示 在本系列的上一篇文章中,我们讲述了实现海康工业相机的连接,采用内触发采集模式,

    2024年02月16日
    浏览(42)
  • C# 开源SDK 工业相机库 调用海康相机 大恒相机

    c# 相机库,含海康、大恒品牌2D相机的常用功能。 底层采用回调+信号量模式封装 ,最大程度减小线程资源,提高采图效率。 开源地址 :https://gitee.com/laomaogu/mgcamctrl 现只兼容了大恒和海康,都是常用的 其他相机,看我老板啥时候换品牌吧,或者换老板? 当然如果小伙伴感兴

    2024年04月26日
    浏览(44)
  • 机器视觉海康工业相机SDK参数设置获取

    视觉人机器视觉培训-缺陷检测项目-食品行业草鸡蛋外观检测 相机参数类型可分为六类,除 command 参数外,每一类都有其对应的设置与获取函数接口。 表 1 参数类型及对应函数接口介绍 *详细函数接口可参考 SDK 手册: ​C:Program Files (x86)MVSDevelopmentDocumentations 相机参数类型

    2024年02月07日
    浏览(81)
  • 海康工业相机SDK + OpenCV实例(4):相机参数设置详解

    前文海康工业相机SDK + OpenCV实例(3):相机初始化Bug调试讲述了相机初始化可能遇到的问题。本文讲解海康工业相机设置参数的相关接口,其中,会重点讲解 自动曝光时间调整亮度 , 图像对比度调整 。 海康SDK提供一系列参数设置的接口,本节主要讲解几个万能接口的使用,

    2024年02月11日
    浏览(53)
  • 海康威视监控相机的SDK与opencv调用(非工业相机)

    本篇主要对海康威视的监控相机的SDK回调进行研究,并于opencv结合,保存图像,以供后续其他处理,开发语言为C++ 2.1 海康SDK介绍 海康SDK下载地址 根据自身编译环境,下载对应的SDK,需要注意的是,不要和工业相机SDK相混淆,工业相机好像是MVS是什么玩意儿,现在暂时没研究

    2024年02月04日
    浏览(55)
  • 海康机器人工业相机SDK MVS安装教程

    海康机器人是面向全球的机器视觉和移动机器人产品及解决方案提供商,业务聚焦于工业物联网、智慧物流和智能制造,构建开放合作生态,为工业和物流领域用户提供服务,以创新技术持续推动智能化,引领智能制造进程。 进入官网 https://www.hikrobotics.com/cn,点击下载中心

    2024年02月10日
    浏览(40)
  • 【HIKROBOT】海康机器人:工业相机SDK二次开发

    海康机器人官网链接:https://www.hikrobotics.com/cn 根据购买设备的型号下载用户说明书 笔者实验室购买了两款,一款GigE网口接口的,一款USB接口 GigE网口接口 USB接口:MV-CA050-20UC 服务支持”“下载中心”“机器视觉”中下载MVS客户端安装包及SDK开发包。 1.1.1 Ubuntu18.04系统安装 下

    2024年02月05日
    浏览(50)
  • 海康工业相机SDK基于C#关于IO输入输出的控制

    海康工业相机功能模块sdk提供了很多相机的接口,本文主要介绍下相机的io相关的控制。例如在通过io输入触发相机拍照。通过io输出传递拍照成功,或者存图成功的信号等。 IO输入的主要作用就是,相机通过IO管脚,收到1个IO信号,来触发相机拍照; 触发模式:TriggerMode设置

    2024年02月03日
    浏览(198)
  • VisionMaster连接工业相机(海康)

    工业相机一般都需要独立供电,12v接上相机的正负极,另外网口接上电脑或交换机Lan口,建议使用千兆网口,不然帧率跟不上(也可以使用网口转usb3.0). 添加图像源  点击上方相机图标  设置相机参数 选择全局相机  有枚举相机(就是全部的)  和跨网段(通过ip链接   需

    2024年02月07日
    浏览(45)
  • opencv——连接/控制工业相机(海康)

    1.自动抓取图像 通过接受前步传输的指令而实现相机的自动抓取图像 2.定时抓取图像 通过自定义设置延时时间而实现相机的定时抓取图像 3.特定按键控制抓取图像 通过自定义特定按键而实现相机的人为控制抓取图像 以上就是三种实现Python/opencv工业相机控制的方法啦!

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包