52 lines
1.7 KiB
C
52 lines
1.7 KiB
C
|
#pragma once
|
||
|
#include <memory>
|
||
|
#include <functional>
|
||
|
#include <thread>
|
||
|
#include <string>
|
||
|
#include "regsaccess.h"
|
||
|
#include "commondef.h"
|
||
|
#include "CorrectParam.h"
|
||
|
#include "opencv2\opencv.hpp"
|
||
|
|
||
|
class ICapturer
|
||
|
{
|
||
|
public:
|
||
|
virtual ~ICapturer() {}
|
||
|
virtual void Fpga_regsAccess_reset(bool enable) = 0;
|
||
|
virtual void open() = 0;
|
||
|
virtual void open(HGScanConfig config, FPGAConfigParam fpgaparam) = 0;
|
||
|
virtual void open(HGScanConfig config, FPGAConfigParam_8478 fpgaparam){};
|
||
|
virtual void snap(frame_data_info info) {}
|
||
|
virtual cv::Size frame_data_size() { return {0, 0}; }
|
||
|
virtual void close() = 0;
|
||
|
virtual void start() = 0;
|
||
|
virtual void stop() = 0;
|
||
|
virtual bool is_runing() = 0;
|
||
|
virtual void snap() = 0;
|
||
|
virtual void stopsnap() = 0;
|
||
|
virtual int getautosizeheight() = 0;
|
||
|
virtual void set_size(int width, int height) = 0;
|
||
|
virtual void *readFrame(int timeout) = 0;
|
||
|
|
||
|
virtual void set_gain(int ix, int val) = 0;
|
||
|
virtual void set_offset(int ix, int val) = 0;
|
||
|
virtual void set_expo(int ix, int val) = 0;
|
||
|
virtual uint32_t multi_frame_counts() { return 0; }
|
||
|
virtual uint32_t multi_curr_snap_index() { return 0; }
|
||
|
|
||
|
virtual std::shared_ptr<IRegsAccess> regs() = 0;
|
||
|
virtual void reset() = 0;
|
||
|
virtual int width() = 0;
|
||
|
virtual int height() = 0;
|
||
|
virtual int color() = 0;
|
||
|
virtual void init_autocorrect(int colormode = 0) = 0;
|
||
|
virtual void setcapturecall(std::function<void(int, std::string)> callback) = 0;
|
||
|
virtual frame_data_info ReadMultiFrame(int state) { return {0}; }
|
||
|
virtual void single_correct(std::uint32_t mode) = 0;
|
||
|
virtual void set_fpga_vsp(int a, int b) {}
|
||
|
virtual cv::Mat read_one_frame() { return cv::Mat(); }
|
||
|
void set_gscancap(GScanCap cap){ m_gscancap = cap;}
|
||
|
|
||
|
protected:
|
||
|
GScanCap m_gscancap;
|
||
|
};
|