-
Notifications
You must be signed in to change notification settings - Fork 5
/
laubaslerusbcamera.h
111 lines (89 loc) · 2.13 KB
/
laubaslerusbcamera.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#ifndef LAUBASLERUSBCAMERA_H
#define LAUBASLERUSBCAMERA_H
#include <QTime>
#include <QList>
#include <QTimer>
#include <QtCore>
#include <QDebug>
#include <QImage>
#include <QString>
#include <QObject>
#include <QMessageBox>
#include <QApplication>
#include <QHostAddress>
#include "laumemoryobject.h"
#if defined(Q_OS_WIN)
#include <pylon/PylonIncludes.h>
#include <pylon/usb/BaslerUsbInstantCamera.h>
#elif defined(Q_OS_MAC)
#include <PylonIncludes.h>
#include <usb/BaslerUsbInstantCamera.h>
#endif
#define USE_USB
class LAUBaslerUSBCamera : public QObject
{
Q_OBJECT
public:
explicit LAUBaslerUSBCamera(QObject *parent = 0);
~LAUBaslerUSBCamera();
bool isValid() const
{
return (isConnected);
}
unsigned short maxIntensityValue() const
{
return ((unsigned short)(0x01 << bitsPerPixel));
}
QString error() const
{
return (errorString);
}
QString make() const
{
return (makeString);
}
QString model() const
{
return (modelString);
}
QString serial() const
{
return (serialString);
}
unsigned int width() const
{
return (numCols);
}
unsigned int height() const
{
return (numRows);
}
LAUMemoryObject memoryObject() const
{
return (LAUMemoryObject(width(), height(), 1, sizeof(unsigned char)));
}
public slots:
void setExposure(int microseconds);
void setFrame(LAUMemoryObject buffer);
private:
static bool libraryInitializedFlag;
unsigned int numRows;
unsigned int numCols;
unsigned short bitsPerPixel;
bool isConnected;
QString makeString;
QString errorString;
QString modelString;
QString serialString;
// DECLARE POINTERS TO PRIMESENSE SENSOR OBJECTS
unsigned int numAvailableCameras;
Pylon::CBaslerUsbInstantCamera *camera;
QStringList cameraList();
void unpack10Bits(unsigned char *toBuffer, unsigned char *fmBuffer);
bool connectToHost(QString idString);
bool disconnectFromHost();
signals:
void emitError(QString);
void emitFrame(LAUMemoryObject);
};
#endif // LAUBASLERUSBCAMERA_H