Add CameraGrabber camera wrapper and refactor main loop
- 新增 inc/camera_set.hpp + src/camera_set.cpp:封装相机初始化、启停、参数设置与取帧 - main.cpp 改用 CameraGrabber,取流循环支持 ESC 退出 - xmake.lua 增加 inc/ 头文件目录与绝对路径 - .gitignore 忽略 wget 日志
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#ifndef CAMERA_SET_HPP
|
||||
#define CAMERA_SET_HPP
|
||||
|
||||
#include "CameraDefine.h" // 类型定义
|
||||
#include <opencv2/opencv.hpp>
|
||||
|
||||
|
||||
class CameraGrabber
|
||||
{
|
||||
public:
|
||||
CameraGrabber(); // 构造函数声明
|
||||
~CameraGrabber(); // 析构函数声明
|
||||
|
||||
bool initializeCamera(); // 初始化相机
|
||||
bool startCamera(); // 启动相机
|
||||
bool stopCamera(); // 停止相机
|
||||
bool setExposureTime(double exposureTime); // 设置曝光时间
|
||||
bool setGain(double gain); // 设置增益
|
||||
bool setWhiteBalance(double redGain, double blueGain); // 设置白平衡
|
||||
bool setResolution(int width, int height); // 设置分辨率
|
||||
bool setFrameRate(double frameRate); // 设置帧率
|
||||
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
|
||||
Reference in New Issue
Block a user