#ifndef CAMERA_SET_HPP #define CAMERA_SET_HPP #include "CameraDefine.h" // 类型定义 #include class CameraGrabber { public: CameraGrabber(); // 构造函数声明 ~CameraGrabber(); // 析构函数声明 bool initializeCamera(); // 初始化相机 bool startCamera(); // 启动相机 bool stopCamera(); // 停止相机 // ---- 参数设置:在 initializeCamera 之后、startCamera 之前调用 ---- bool setAeState(bool aeOn); // 曝光模式:true=自动, false=手动(比赛必须手动) bool setExposureTime(double exposureUs); // 曝光时间(微秒 us) bool setAnalogGainRaw(int gainRaw); // 模拟增益(SDK 原始整数,范围见 capability.sExposeDesc) bool setAnalogGainTimes(double gainTimes); // 模拟增益(倍率,内部按 fAnalogGainStep 换算成原始值) bool setWbMode(bool autoWb); // 白平衡:true=自动, false=手动 bool setFrameSpeed(int speed); // 帧率档位:0=低速 1=正常 2=高速 bool getFrame(cv::Mat &frame); // 获取一帧图像 private: CameraHandle hCamera = -1; // 相机句柄 tSdkCameraCapbility capability; // 相机能力描述 unsigned char *pRgbBuffer = nullptr; // 图像处理缓冲区 int channel = 3; // 通道数:1 灰度,3 彩色 bool isInitialized = false; // 是否已初始化 bool isPlaying = false; // 是否已启动取流 }; #endif