make v4l signal detection switchable (#415)

This commit is contained in:
redPanther
2017-03-15 20:33:11 +01:00
committed by GitHub
parent bae3808957
commit a20e073bbd
12 changed files with 106 additions and 55 deletions

View File

@@ -40,6 +40,7 @@ public:
virtual ~V4L2Grabber();
QRectF getSignalDetectionOffset();
bool getSignalDetectionEnabled();
public slots:
void setCropping(int cropLeft,
@@ -61,6 +62,8 @@ public slots:
double verticalMax,
double horizontalMax);
void setSignalDetectionEnable(bool enable);
bool start();
void stop();
@@ -133,13 +136,19 @@ private:
int _lineLength;
int _frameByteSize;
int _frameDecimation;
int _noSignalCounterThreshold;
// signal detection
int _noSignalCounterThreshold;
ColorRgb _noSignalThresholdColor;
bool _signalDetectionEnabled;
bool _noSignalDetected;
int _noSignalCounter;
double _x_frac_min;
double _y_frac_min;
double _x_frac_max;
double _y_frac_max;
int _currentFrame;
int _noSignalCounter;
QSocketNotifier * _streamNotifier;
ImageResampler _imageResampler;
@@ -148,10 +157,5 @@ private:
bool _initialized;
bool _deviceAutoDiscoverEnabled;
bool _noSignalDetected;
double _x_frac_min;
double _y_frac_min;
double _x_frac_max;
double _y_frac_max;
};

View File

@@ -27,6 +27,8 @@ public:
const int priority);
virtual ~V4L2Wrapper();
bool getSignalDetectionEnable();
public slots:
bool start();
void stop();
@@ -34,6 +36,7 @@ public slots:
void setCropping(int cropLeft, int cropRight, int cropTop, int cropBottom);
void setSignalDetectionOffset(double verticalMin, double horizontalMin, double verticalMax, double horizontalMax);
void set3D(VideoMode mode);
void setSignalDetectionEnable(bool enable);
// signals:
// void emitColors(int priority, const std::vector<ColorRgb> &ledColors, const int timeout_ms);