43 lines
929 B
C++
43 lines
929 B
C++
#pragma once
|
|
|
|
class HikCamera {
|
|
public:
|
|
// 获取单例实例
|
|
static HikCamera &getInstance() {
|
|
static HikCamera instance;
|
|
return instance;
|
|
}
|
|
|
|
// 初始化相机
|
|
void init();
|
|
// 去初始化相机
|
|
void deinit();
|
|
|
|
// 开始图像采集
|
|
void startGrabbing();
|
|
// 停止图像采集
|
|
void stopGrabbing();
|
|
|
|
// 设置曝光时间
|
|
void setExposure(double exposure);
|
|
// 设置增益
|
|
void setGain(double gain);
|
|
|
|
// 注册图像回调函数
|
|
void registerImageCallback();
|
|
|
|
// 禁用拷贝和移动
|
|
HikCamera(const HikCamera &) = delete;
|
|
HikCamera(HikCamera &&) = delete;
|
|
HikCamera &operator=(const HikCamera &) = delete;
|
|
HikCamera &operator=(HikCamera &&) = delete;
|
|
|
|
private:
|
|
// 私有构造函数
|
|
HikCamera() = default;
|
|
// 私有析构函数
|
|
~HikCamera() = default;
|
|
|
|
// 相机句柄
|
|
void *m_handler = nullptr;
|
|
}; |