55 lines
1017 B
C++
55 lines
1017 B
C++
#ifndef GRABBER_H
|
|
#define GRABBER_H
|
|
|
|
#include <QObject>
|
|
#include <QThread>
|
|
#include "pylonwrapper.h"
|
|
#include "imagebuffer.h"
|
|
|
|
class Grabber : public QThread
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
Grabber(PylonWrapper *camera, ImageBuffer*buffer, int framerate, QObject *parent = nullptr) :
|
|
QThread(parent), camera(camera), buffer(buffer), framerate(framerate) {}
|
|
|
|
void run() override;
|
|
void stop();
|
|
int currentFramerate() {
|
|
return framerate;
|
|
}
|
|
|
|
double currentExposureTime() {
|
|
return exposure;
|
|
}
|
|
|
|
double currentGain() {
|
|
return gain;
|
|
}
|
|
|
|
private:
|
|
bool stop_request = false;
|
|
PylonWrapper *camera;
|
|
ImageBuffer *buffer;
|
|
int framerate;
|
|
double exposure, gain;
|
|
|
|
public slots:
|
|
void requestStop() {
|
|
stop_request=true;
|
|
}
|
|
void setFrameRate(int newFramerate) {
|
|
framerate = newFramerate;
|
|
}
|
|
void setExposureTime(double newExposureTime) {
|
|
exposure = newExposureTime;
|
|
}
|
|
void setGain(double gain_db) {
|
|
gain = gain_db;
|
|
}
|
|
signals:
|
|
void terminated();
|
|
};
|
|
|
|
#endif // GRABBER_H
|