資源簡介
利用QT建立工程項(xiàng)目,用C++調(diào)用海康相機(jī)SDK來采集圖像,并通過openCV將獲取的圖像數(shù)據(jù)轉(zhuǎn)換為可以進(jìn)行顯示的圖像。

代碼片段和文件信息
#include?“hikvisionsdk.h“
MV_CC_DEVICE_INFO_LIST?m_stDevList;?????????//?ch:設(shè)備信息列表結(jié)構(gòu)體變量,用來存儲設(shè)備列表
MV_CC_DEVICE_INFO*?m_Device=NULL;?????????????????//設(shè)備對象
HikvisionSDK::HikvisionSDK()
{
????m_hDevHandle????=?NULL;
}
HikvisionSDK::~HikvisionSDK()
{
????if?(m_hDevHandle)
????{
????????MV_CC_DestroyHandle(m_hDevHandle);
????????m_hDevHandle????=?NULL;
????}
}
//連接相機(jī)
int??HikvisionSDK::connectCamera(string?id)
{
????//查詢設(shè)備列表
????int?tempValue=MV_CC_EnumDevices(MV_GIGE_DEVICE?|?MV_USB_DEVICE?&m_stDevList);
????if(tempValue!=0)
????????//設(shè)備更新成功接收命令的返回值為0,返回值不為0則為異常
????????return?-1;
????if(m_stDevList.nDeviceNum==0)
????????//未找到任何相機(jī)
????????return?2;
????for?(unsigned?int?i?=?0;?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)
????{
????????//未找到指定名稱的相機(jī)
????????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);
????}
}
//啟動相機(jī)采集
int?HikvisionSDK::startCamera()
{
????int?tempValue=MV_CC_StartGrabbing(m_hDevHandle);
????if(tempValue!=0)
????{
????????return?-1;
????}else
????{
????????return?0;
????}
}
//停止相機(jī)采集
int?HikvisionSDK::stopCamera()
{
????int?tempValue=MV_CC_StopGrabbing(m_hDevHandle);
????if(tempValue!=0)
????{
????????return?-1;
????}else
????{
????????return?0;
????}
}
//關(guān)閉相機(jī)
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個文件信息
評論
共有 條評論