12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #pragma once
- #include "sense_camera_global.h"
- #include "sense_camera_adapter.h"
- #include <memory>
- class SENSE_EXPORT CtrlFrameGrabber
- {
- public:
- enum E_CameraType
- {
- TYPE_HK = 0,
- TYPE_DAHENG = 1,
- TYPE_BASLER,
- TYPE_SIMULATE
- };
- enum
- {
- CAM_MAXNUM = 9,
- };
- //单例函数指针获取
- static CtrlFrameGrabber* getInstance();
- static void releaseInstance();
- static long enumDevicesSN(std::vector<std::string>& vecCamSn, CtrlFrameGrabber::E_CameraType type);
- long connectCam(long index, std::string& sn, long type);
- long reConnectCam(long index);
- long disconnectCam(long index);
- long disconnectALL();
- long getType(long index);
- #ifdef USE_OPENCV
- long getOneImage(long index, cv::Mat& img);
- long takeSingleImage(long index, cv::Mat& img);
- #endif
- #ifdef USE_HALCON
- long getOneImage(long index, HalconCpp::HObject& img);
- long takeSingleImage(long index, HalconCpp::HObject& img);//软触发并取一次图
- #endif // USE_HALCON
- void clearCameraBuf(long index);
- long startGrabbing(long index);
- long stopGrabbing(long index);
- long softTriggerOnce(long index);
- void setTriggerMode(long index,CameraAdapter::E_TRIGGER_MODE mode); //设置设备曝光时间
- void setTriggerSource(long index, CameraAdapter::E_TRIGGER_SOURCE source);
- private:
- explicit CtrlFrameGrabber();
- ~CtrlFrameGrabber();
- private:
- static CtrlFrameGrabber* m_handle;
- CameraAdapter* m_pCamAr[CtrlFrameGrabber::CAM_MAXNUM];//ProSYS::CAM_MAXNUM
- long m_pTypeAr[CtrlFrameGrabber::CAM_MAXNUM];//ProSYS::CAM_MAXNUM
- };
|