123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #pragma once
- #include "sense_camera_adapter.h"
- #include "GalaxyIncludes.h"
- #include <atomic>
- //大恒相机
- class CameraDahengImp : public CameraAdapter
- {
- public:
- CameraDahengImp();
- ~CameraDahengImp();
- int64_t enumDevicesSN(std::vector<std::string>& 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 double getExposureTime();
- virtual void setTriggerMode(E_TRIGGER_MODE mode);
- virtual void setTriggerSource(E_TRIGGER_SOURCE source);
- private:
- std::atomic_bool bIsStreamOpen= false; ///< 设备流是否已打开标识
- std::atomic_bool bIsDeviceOpen = false; ///< 设备是否已打开标识
- std::atomic_bool m_bIsColor = false; ///< 是否支持彩色
- std::atomic_bool m_bStartGrabbing = false; ///< 设备采集标识
- CImageDataPointer m_objImageDataPtr; ///< GetImage获取的图像
- CGXDevicePointer m_objDevicePtr; ///< 设备句柄
- CGXStreamPointer m_objStreamPtr; ///< 设备流对象
- CGXFeatureControlPointer m_objFeatureControlPtr; ///< 属性控制器
- CGXFeatureControlPointer m_objStreamFeatureControlPtr; ///< 流层控制器对象
- GX_VALID_BIT_LIST _getBestValudBit(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry);
- void _isSupportColor();
- ///判断PixelFormat是否为8位
- bool _isPixelFormat8(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry);
- };
|