#pragma once #include "sense_camera_adapter.h" #include "mv_camera.h" #include //大恒相机 class CameraHaiKangImp : public CameraAdapter { public: CameraHaiKangImp(); ~CameraHaiKangImp(); int64_t enumDevicesSN(std::vector& sn); virtual int64_t setInitParameters(); virtual int64_t openCamera(const char* strDeviceSN); #ifdef USE_OPENCV virtual int64_t getOneImage(cv::Mat& img); virtual int64_t takeSingleImage(cv::Mat& img); #endif // USE_OPENCV #ifdef USE_HALCON virtual int64_t getOneImage(HalconCpp::HObject& img); virtual int64_t takeSingleImage(HalconCpp::HObject& img);//软触发并取一次图 #endif // USE_HALCON virtual int64_t softTriggerOnce(); //软触发一次 virtual int64_t closeCamera(); virtual int64_t reConnectCamera(); virtual void clearCameraBuf(); virtual int64_t startGrabbing(); virtual int64_t stopGrabbing(); virtual void setTriggerMode(E_TRIGGER_MODE mode); virtual void setTriggerSource(E_TRIGGER_SOURCE source); virtual double getExposureTime(); private: std::atomic_bool bIsDeviceOpen = false; ///< 设备是否已打开标识 std::atomic_bool m_bIsColor = false; ///< 是否支持彩色 std::atomic_bool m_bStartGrabbing = false; ///< 设备采集标识 std::string m_mSNstr = ""; ///< 相机SN CMvCamera m_pcMyCamera; // ch:CMyCamera封装了常用接口 | en:CMyCamera packed commonly used interface };