|
|
@@ -0,0 +1,56 @@
|
|
|
+#ifndef CAMERA_H
|
|
|
+#define CAMERA_H
|
|
|
+
|
|
|
+#include <QString>
|
|
|
+#include <QImage>
|
|
|
+#include <QVariant>
|
|
|
+
|
|
|
+class CameraClass
|
|
|
+{
|
|
|
+public:
|
|
|
+ enum CameraBrand {
|
|
|
+ DEFAULT_BRAND,
|
|
|
+ HIKVISION,
|
|
|
+ BASLER
|
|
|
+ };
|
|
|
+
|
|
|
+ enum CameraType {
|
|
|
+ USB_CAMERA,
|
|
|
+ GIGE_CAMERA,
|
|
|
+ NETWORK_CAMERA,
|
|
|
+ CAMERA_LINK,
|
|
|
+ HIKVISION_CAMERA,
|
|
|
+ BASLER_CAMERA
|
|
|
+ };
|
|
|
+
|
|
|
+ CameraClass() {}
|
|
|
+ CameraClass(const QString &name) : m_name(name) {}
|
|
|
+ virtual ~CameraClass() {}
|
|
|
+
|
|
|
+
|
|
|
+ virtual bool connectCamera() = 0;
|
|
|
+ virtual bool disconnectCamera() = 0;
|
|
|
+ virtual bool startCapture() = 0;
|
|
|
+ virtual bool stopCapture() = 0;
|
|
|
+ virtual QImage getImage() = 0;
|
|
|
+ virtual bool setParameter(const QString ¶mName, const QVariant &value) = 0;
|
|
|
+ virtual QVariant getParameter(const QString ¶mName) = 0;
|
|
|
+
|
|
|
+
|
|
|
+ QString getName() const { return m_name; }
|
|
|
+ void setName(const QString &name) { m_name = name; }
|
|
|
+ CameraType getType() const { return m_type; }
|
|
|
+ CameraBrand getBrand() const { return m_brand; }
|
|
|
+ void setBrand(CameraBrand brand) { m_brand = brand; }
|
|
|
+ bool isConnected() const { return m_connected; }
|
|
|
+ bool isCapturing() const { return m_capturing; }
|
|
|
+
|
|
|
+protected:
|
|
|
+ QString m_name;
|
|
|
+ CameraType m_type;
|
|
|
+ CameraBrand m_brand;
|
|
|
+ bool m_connected;
|
|
|
+ bool m_capturing;
|
|
|
+};
|
|
|
+
|
|
|
+#endif // CAMERA_H
|