123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #ifndef __MV_GMSL_CAMERA_H__
- #define __MV_GMSL_CAMERA_H__
- #include <cstdint>
- #ifdef MIIVII_NO_OPENCV
- #else
- #include <opencv2/opencv.hpp>
- #endif
- #include "MvGmslCameraVersion.h"
- #define CAMERA_NUM 8
- struct sync_out_a_cfg_client_t
- {
- uint8_t sync_camera_num;
- uint8_t sync_freq;
- uint8_t sync_camera_bit_draw;
- uint8_t async_camera_num;
- uint8_t async_freq;
- uint8_t async_camera_bit_draw;
- uint8_t async_camera_pos[CAMERA_NUM];
- };
- typedef struct {
- std::string dev_node;
- std::string camera_fmt_str;
- std::string output_fmt_str;
- uint cam_w;
- uint cam_h;
- uint out_w;
- uint out_h;
- } camera_context_t;
- namespace miivii {
- class MvGmslCamera {
- public:
-
- MvGmslCamera(struct sync_out_a_cfg_client_t camera_cfg);
- MvGmslCamera(camera_context_t *cam_ctx, uint32_t camCount, struct sync_out_a_cfg_client_t camera_cfg);
-
- ~MvGmslCamera();
-
- bool GetImagePtr(uint8_t *ppdata[], uint64_t *timestamp,uint8_t camera_no);
- #ifdef MIIVII_NO_OPENCV
- #else
-
- bool GetImageCvMat(cv::Mat out_mat[], uint64_t *timestamp,uint8_t camera_no);
- #endif
-
- bool GetImagePtr(uint8_t *ppdata[], uint64_t ×tamp,uint8_t camera_no,std::string camera_dev);
- #ifdef MIIVII_NO_OPENCV
- #else
-
- bool GetImageCvMat(cv::Mat out_mat[], uint64_t ×tamp,uint8_t camera_no,std::string camera_dev);
- #endif
-
- bool GetGmslTimeStamp(const uint8_t CameraNum,uint64_t ×tamp);
- MvGmslCamera() = delete;
- MvGmslCamera(const MvGmslCamera &) = delete;
- MvGmslCamera &operator=(const MvGmslCamera &) = delete;
- private:
- void *handle_;
- };
- }
- #endif
|