You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
859 B
C++
42 lines
859 B
C++
#pragma once
|
|
#include "ASyncQueue.h"
|
|
#include "SyncQueue.h"
|
|
#include "MvCameraControl.h"
|
|
#include "CameraParams.h"
|
|
#include <vector>
|
|
#include <opencv2/opencv.hpp>
|
|
#include "common.h"
|
|
|
|
#define HIK2D 1
|
|
|
|
class HIKCamera
|
|
{
|
|
private:
|
|
HIKCamera(int DeviceNums);
|
|
HIKCamera(const HIKCamera& tmpobj) {}
|
|
HIKCamera operator=(const HIKCamera& tmpobj) {}
|
|
~HIKCamera();
|
|
|
|
private:
|
|
int CamSelect = 0;
|
|
|
|
public:
|
|
static int HIKCamera::Enumerate();
|
|
static HIKCamera* InitHIKController(int DeviceNum);
|
|
void SetTriggerMode(MV_CAM_TRIGGER_MODE mode);
|
|
cv::Mat SoftWareTrigger();
|
|
|
|
int OpenCamera();
|
|
int CloseCamera();
|
|
|
|
public:
|
|
static MV_CC_DEVICE_INFO_LIST stDeviceList;
|
|
static HIKCamera* HikController;
|
|
static std::vector<void*> CameraHandle;
|
|
|
|
void* p_pImage_buf = nullptr;
|
|
SyncQueue<cv::Mat> *p_image_queue;
|
|
ASyncQueue<bool> *p_result_queue;
|
|
cv::Mat image;
|
|
};
|