femtoCAM/processing.h

40 lines
863 B
C++

#ifndef PROCESSING_H
#define PROCESSING_H
#include <QThreadPool>
#include <QDebug>
#include <QPainter>
#include <opencv4/opencv2/imgcodecs.hpp>
#include <opencv4/opencv2/opencv.hpp>
#include <vector>
#include <iostream>
#undef signals
#include <arv.h>
#undef signals
#define signals Q_SIGNALS
#include "idscam.h"
#include "framebatch.h"
using namespace cv;
using namespace std;
ProcessingResult processArvBuffer(ArvBuffer* buffer, const ProcessingConfig& config);
QImage drawHitsOnGrayImage(const QImage& grayImage, const ProcessingResult& result);
class Worker : public QRunnable
{
public:
Worker(FrameBatch* batch, ArvStream *stream, ResList *result);
void run() override;
private:
FrameBatch* batch;
ArvStream *stream;
ProcessingConfig cfg{};
ResList *result;
BatchResult *batch_result = nullptr;
};
#endif // PROCESSING_H