-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmainwindow.h
58 lines (49 loc) · 1.25 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QCamera>
#include <QCameraInfo>
#include <QCameraViewfinder>
#include <QComboBox>
#include <QSettings>
#include <QSpacerItem>
#include <QTimer>
#include <QVariant>
#include <QVideoProbe>
#include "cameramanager.h"
#include "dataawarecombobox.h"
#include "glvideowidget.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QCamera *camera;
CameraManager *cameraManager;
DataAwareComboBox *cameraComboBox;
QAction *cameraComboBoxAction;
QTimer *fpsTimer;
unsigned int framesInCurrentSecond = 0;
QString outputDirectoryPath;
void detectCameras();
void readSettings();
void writeSettings();
void registerFilters();
void registerFilter(QSharedPointer<AbstractFilter>);
private slots:
void toggleCamera(bool enable);
void processFrame(cv::Mat &mat);
void onCameraChanged(const QSharedPointer<QCamera> &cameraPtr);
void updateFps();
void chooseOutputDirectory();
void openOutputDirectory();
bool grabImage();
void enableFilters(bool enable);
};
#endif // MAINWINDOW_H