• 大小: 40.74MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-04
  • 语言: 其他
  • 标签: 海康相机  c++  Qt  

资源简介

基于Qt平台的海康相机二次开发。压缩包文件没有完整的工程文件。 其中包含文件有: 1.动态链接库及头文件 2.Camer_HK类 导入相机类到自己的工程文件,并在.pro配置好相关的路径,即可使用。 需注意的是,类中使用了OpenCV,因此也需配置OpenCV的相关.pro路径

资源截图

代码片段和文件信息

#include “camer_hk.h“



Camer_HK::Camer_HK()
{
    handle = NULL;
    InitLog(“Camera““1.0.0“);

}

bool Camer_HK::OpenCamera(QString ips)
{
    unsigned int ipt = 0;
    QStringList adressList = ips.split(“.“);
    for(int i = 0; i    {
        QString address = adressList.at(i);
        ipt += address.toInt()<<((3-i)*8);
    }

    return OpenCamera(ipt);
}

bool Camer_HK::OpenCamera(unsigned int cameraIntIP)
{
    int nRet = 0;
    int nDeviceNum = -1;
    MV_CC_DEVICE_INFO_LIST stDeviceList;

    memset( &stDeviceList 0 sizeof(MV_CC_DEVICE_INFO_LIST) );



    // 1. 枚举设备
    nRet = MV_CC_EnumDevices( MV_GIGE_DEVICE | MV_USB_DEVICE &stDeviceList );
    if ( MV_OK != nRet )
    {
        Log_Error( logger “MV_CC_EnumDevices fail! nRet %x“ nRet );

        return false;
    }
    if (stDeviceList.nDeviceNum < 0)
    {
        Log_Error( logger “Device Num less than 0“);

        return false;
    }

    for(int i =0; i < (int)stDeviceList.nDeviceNum; i++ )
    {
        if(cameraIntIP == stDeviceList.pDeviceInfo[i]->SpecialInfo.stGigEInfo.nCurrentIp)
        {
            nDeviceNum = i;
            break;
        }
        continue;
    }

    if(nDeviceNum < 0)
    {
        Log_Error( logger “Not Find Camera Device....“);
        return false;
    }

    // 2. 选择设备并创建句柄
    nRet = MV_CC_CreateHandle( &handle stDeviceList.pDeviceInfo[nDeviceNum] );
    if (MV_OK != nRet)
    {
        Log_Error( logger “MV_CC_CreateHandle fail! nRet %x“ nRet );

        return false;
    }

    // 3.打开设备
    nRet = MV_CC_OpenDevice( handle );
    if (MV_OK != nRet)
    {
        Log_Error( logger “MV_CC_OpenDevice fail! nRet %x“ nRet );

        return false;
    }
    //获取相机图像基本信息

    MV_IMAGE_BASIC_INFO mstruBasicInfo = {0};
    nRet = MV_CC_GetImageInfo(handle &mstruBasicInfo);
    img_width = mstruBasicInfo.nWidthValue;
    img_height = mstruBasicInfo.nHeightValue;
    imageData = (uchar * )malloc(sizeof(uchar) * img_width * img_height  );


    //设置图片格式
    nRet = MV_CC_SetPixelFormat( handle PixelType_Gvsp_Mono8 );
    if (MV_OK != nRet)
    {
        Log_Error( logger “MV_CC_SetPixelFormat fail! nRet %x“ nRet );

        return false;
    }
    //打开触发模式
    nRet = MV_CC_SetTriggerMode( handle MV_TRIGGER_MODE_ON ) ;
    if (MV_OK != nRet)
    {
        Log_Error( logger “MV_CC_SetTriggerMode fail! nRet %x“ nRet );

        return false;
    }
    //设置软触发
    nRet = MV_CC_SetTriggerSource( handle MV_TRIGGER_SOURCE_SOFTWARE );
    if (MV_OK != nRet)
    {
        Log_Error( logger “MV_CC_SetTriggerSource fail! nRet %x“ nRet );

        return false;
    }
    //注册回调函数
    nRet = MV_CC_RegisterImageCallBack( handle ImageCallBack this );
    if (MV_OK != nRet)
    {
        Log_Error( logger “MV_CC_RegisterImageCallBack fail! nRet %x“ nRet );

        return false;
    }
    //开始抓图
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8015  2019-02-15 16:05  camer_HK\camer_hk.cpp

     文件       1067  2019-02-15 16:05  camer_HK\camer_hk.h

     文件      40202  2017-11-29 11:49  camer_HK\dll\MvCameraControl.lib

     文件      35328  2017-11-29 11:49  camer_HK\dll\MvCameraControl.Net.dll

     文件      27473  2017-11-29 11:49  camer_HK\include\CameraParams.h

     文件       1944  2017-11-29 11:49  camer_HK\include\GenICam\base\GCArray.h

     文件       1726  2017-11-29 11:49  camer_HK\include\GenICam\base\GCbase.h

     文件       2900  2017-11-29 11:49  camer_HK\include\GenICam\base\GCError.h

     文件      11910  2017-11-29 11:49  camer_HK\include\GenICam\base\GCException.h

     文件       7283  2017-11-29 11:49  camer_HK\include\GenICam\base\GClinkage.h

     文件       2068  2017-11-29 11:49  camer_HK\include\GenICam\base\GCNamespace.h

     文件       7698  2017-11-29 11:49  camer_HK\include\GenICam\base\GCRTSSUtilities.h

     文件      10466  2017-11-29 11:49  camer_HK\include\GenICam\base\GCString.h

     文件       8697  2017-11-29 11:49  camer_HK\include\GenICam\base\GCStringVector.h

     文件      10095  2017-11-29 11:49  camer_HK\include\GenICam\base\GCSynch.h

     文件       8929  2017-11-29 11:49  camer_HK\include\GenICam\base\GCTypes.h

     文件       9389  2017-11-29 11:49  camer_HK\include\GenICam\base\GCUtilities.h

     文件       6358  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\CLAllAdapter.h

     文件      17264  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\ClAllSerial.h

     文件       3221  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\CLAutoBuffer.h

     文件       2753  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\CLException.h

     文件      20471  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\CLPort.h

     文件        229  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\ClProtocol.def

     文件      25464  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\CLProtocol.h

     文件       2247  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\CLProtocollinkage.h

     文件        251  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\ClSerial.def

     文件      13800  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\ClSerial.h

     文件       5505  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\ClSerialTypes.h

     文件       3017  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\CVersion.h

     文件       4997  2017-11-29 11:49  camer_HK\include\GenICam\CLProtocol\DeviceID.h

............此处省略445个文件信息

评论

共有 条评论