资源简介
利用QT建立工程项目,用C++调用海康相机SDK来采集图像,并通过openCV将获取的图像数据转换为可以进行显示的图像。
代码片段和文件信息
#include “hikvisionsdk.h“
MV_CC_DEVICE_INFO_LIST m_stDevList; // ch:设备信息列表结构体变量,用来存储设备列表
MV_CC_DEVICE_INFO* m_Device=NULL; //设备对象
HikvisionSDK::HikvisionSDK()
{
m_hDevHandle = NULL;
}
HikvisionSDK::~HikvisionSDK()
{
if (m_hDevHandle)
{
MV_CC_DestroyHandle(m_hDevHandle);
m_hDevHandle = NULL;
}
}
//连接相机
int HikvisionSDK::connectCamera(string id)
{
//查询设备列表
int tempValue=MV_CC_EnumDevices(MV_GIGE_DEVICE | MV_USB_DEVICE &m_stDevList);
if(tempValue!=0)
//设备更新成功接收命令的返回值为0,返回值不为0则为异常
return -1;
if(m_stDevList.nDeviceNum==0)
//未找到任何相机
return 2;
for (unsigned int i = 0; i < m_stDevList.nDeviceNum; i++)
{
MV_CC_DEVICE_INFO* pDeviceInfo = m_stDevList.pDeviceInfo[i];
if (NULL == pDeviceInfo)
{
continue;
}
if(pDeviceInfo->nTlayerType==MV_USB_DEVICE)
{
if(id== (char*)pDeviceInfo->SpecialInfo.stUsb3VInfo.chUserDefinedName||id== (char*)pDeviceInfo->SpecialInfo.stUsb3VInfo.chSerialNumber||id==“1“)
{
m_Device= m_stDevList.pDeviceInfo[i];
break;
}
}
if(pDeviceInfo->nTlayerType==MV_GIGE_DEVICE)
{
if(id== (char*)pDeviceInfo->SpecialInfo.stGigEInfo.chUserDefinedName||id== (char*)pDeviceInfo->SpecialInfo.stGigEInfo.chSerialNumber||id==“1“)
{
m_Device= m_stDevList.pDeviceInfo[i];
break;
}
}
continue;
}
if(m_Device==NULL)
{
//未找到指定名称的相机
return 3;
}
tempValue = MV_CC_CreateHandle(&m_hDevHandle m_Device);
if(tempValue!=0)
return -1;
tempValue = MV_CC_OpenDevice(m_hDevHandle);
if (tempValue!=0)
{
MV_CC_DestroyHandle(m_hDevHandle);
m_hDevHandle = NULL;
return -1;
}else
{
setTriggerMode(1);
return 0;
}
if (m_Device->nTlayerType == MV_GIGE_DEVICE)
{
//std::cout<<“okokokk“< }
if(m_Device->nTlayerType == MV_USB_DEVICE)
{
MV_CC_SetImageNodeNum(&m_hDevHandle2);
}
}
//启动相机采集
int HikvisionSDK::startCamera()
{
int tempValue=MV_CC_StartGrabbing(m_hDevHandle);
if(tempValue!=0)
{
return -1;
}else
{
return 0;
}
}
//停止相机采集
int HikvisionSDK::stopCamera()
{
int tempValue=MV_CC_StopGrabbing(m_hDevHandle);
if(tempValue!=0)
{
return -1;
}else
{
return 0;
}
}
//关闭相机
int HikvisionSDK::closeCamera()
{
if (NULL == m_hDevHandle)
{
return -1;
}
MV_CC_CloseDevice(m_hDevHandle);
int tempValue = MV_CC_DestroyHandle(m_hDevHandle);
m_hDevHandle = NULL;
if(tempValue!=0)
{
return -1;
}else
{
return 0;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1224 2019-04-10 12:21 Hik\Hik.pro
文件 33381 2019-04-10 12:41 Hik\Hik.pro.user
文件 10184 2019-04-10 12:37 Hik\hikvisionsdk.cpp
文件 1941 2019-04-10 12:34 Hik\hikvisionsdk.h
文件 39011 2018-07-23 10:46 Hik\Includes\CameraParams.h
文件 1944 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 1726 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 2900 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 11910 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 7283 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 2068 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 7698 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 10466 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 8697 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 10095 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 8929 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 9389 2018-07-23 10:46 Hik\Includes\GenICam\ba
文件 6358 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\CLAllAdapter.h
文件 17264 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\ClAllSerial.h
文件 3221 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\CLAutoBuffer.h
文件 2753 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\CLException.h
文件 20471 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\CLPort.h
文件 229 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\ClProtocol.def
文件 25464 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\CLProtocol.h
文件 2247 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\CLProtocolli
文件 251 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\ClSerial.def
文件 13800 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\ClSerial.h
文件 5505 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\ClSerialTypes.h
文件 3017 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\CVersion.h
文件 4997 2018-07-23 10:46 Hik\Includes\GenICam\CLProtocol\DeviceID.h
............此处省略392个文件信息
相关资源
- c++与Qt使用数据库MySQL进行数据的增删
- Osg3.4.1Earth2.8-Qt5.6-VC2013-X86-Release.rar
- C++ Qt设计模式 第2版(中文版).pdf
- C++ GUI Qt4编程第二版(中文高清PDF扫描
- C++结合Qt库编写的背单词软件源代码
- 基于qt的聊天室
- C++ GUI Qt 4编程(第二版)(中文高清
- qt-eclipse-integration-linux.x86-1.6.1.tar.gz(
- 基于QT5的简化版黄金矿工
- 基于QT的商品销售管理系统
- squish 帮助手册
- 基于QT的C++图片查看浏览器的设计与实
- C++结合Qt库编写的背单词软件源代码
- Qt版黑白棋251471
-
Qt使用QMediaPla
yer制作的视频播放器 - c++ & QT 餐厅服务系统
- 系统托盘自定义图标工具
- 哈夫曼编码压缩c++版和QT5版 QT5版实现
- 使用C++开发的双人五子棋游戏()
- qt和vs2013
- QT C++ 算法 广搜BFS 最小步数解二阶魔
- MFC调用QT页面
- 基于QT的小型OA-ERP系统(源码1)
- 背单词软件源代码(使用C++和Qt库编写
- C++ QT面向对象课程设计 大作业
- mqtt-client MFC工程调用开源代码
- qt-everywhere-opensource-src-4.7.0.tar.gz
- 基于QT的打地鼠游戏
- C++ QT 俄罗斯方块源码
- QT5 编程入门.霍亚飞(带详细书签)
评论
共有 条评论