C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)
之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址
我使用的是QT Creator这个IDE,版本信息如下:
在这里插入图片描述
我把相机采集的图像转换为openCV能够处理的cv::Mat格式,所以首先要在QT Creator中配置openCV,使用的openCV为3.0版本,具体配置方法不做介绍,网上有非常多的教程。
1.创建QT项目,在pro文件中添加相机的引用文件,pro位置如下:
在这里插入图片描述
首先要添加MvCameraControl.lib库文件,该文件位置在\MVS\Development\Libraries\win64下。
此处需要注意一点:我第一次引用这个位置的lib文件的时候遇到了问题,提示找不到文件,考虑是否因为MVS软件安装的上级路径中存在空格等字符,因此把这个文件复制到了E:\Hik

  • 20
    点赞
  • 210
    收藏
    觉得还不错? 一键收藏
  • 33
    评论
海康工业相机是一种常见的工业相机品牌,其SDK(软件开发工具包)提供了编程接口以便开发者可以通过程序进行图像采集和处理等操作。下面是一个简单的实例,以说明如何使用海康工业相机SDK进行图像采集: 首先,你需要在电脑上安装海康工业相机SDK,并添加相应的库文件到项目中。 然后,你需要创建一个工程并引入相关的头文件: #include "HCNetSDK.h" #include "plaympeg4.h" 接着,在程序的初始化阶段,你需要调用SDK的初始化函数: NET_DVR_Init(); 之后,你需要登录相机设备: LONG lUserID; NET_DVR_DEVICEINFO_V30 struDeviceInfo; lUserID = NET_DVR_Login_V30("192.168.0.1", 8000, "admin", "password", &struDeviceInfo); 在成功登录相机设备后,你可以设置采集图像的参数,例如图像分辨率、帧率等: NET_DVR_SetCapturePictureMode(lUserID, NET_DVR_JPEG_MODE); 然后,你可以开始进行图像采集了,可以选择采集方式为实时预览或者抓取一张静态图像: // 实时预览 LONG lRealPlayHandle; HWND hWnd = GetDesktopWindow(); // 获取窗口句柄 lRealPlayHandle = NET_DVR_RealPlay_V30(lUserID, struDeviceInfo.byStartChan, NULL, NULL, hWnd); // 抓取静态图像 NET_DVR_CaptureJPEGPicture(lUserID, struDeviceInfo.byStartChan, &struPicParam, "D:\\test.jpg"); 最后,在程序结束时,你需要释放相关资源并注销登录: NET_DVR_StopRealPlay(lRealPlayHandle); NET_DVR_Logout(lUserID); NET_DVR_Cleanup(); 以上是一个简单的实例,通过调用海康工业相机SDK实现图像采集。在实际应用中,你可以根据需求进行更复杂的图像处理操作,例如图像分析、识别等。请注意在实际操作中根据具体的SDK版本和相机型号进行适配。
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值