Files
ds-628/BaseModules/Hd_CameraModule_3DLMI/Hd_CameraModule_3DLMI.h
T

80 lines
1.7 KiB
C++
Raw Normal View History

2024-09-27 14:31:22 +08:00
#ifndef HD_3DCAMERALMI_MODULE_H
#define HD_3DCAMERALMI_MODULE_H
#include"base.h"
#include <QtCore/qglobal.h>
#include <QThread>
#include <QQueue>
#include <QMutex>
#include <GoSdk.h>
#include <QByteArray>
#include <windows.h>
#pragma comment(lib, "winmm.lib")
#pragma comment(lib,"GoSdk.lib")
#pragma comment(lib,"kApi.lib")
using namespace std;
using namespace cv;
#pragma region LMI
enum LmiStatus
{
UnInit = 0,
OK = 1,
Grab = 2,
};
#define NM_TO_MM(VALUE) (((k64f)(VALUE))/1000000.0)
#define UM_TO_MM(VALUE) (((k64f)(VALUE))/1000.0)
#define INVALID_RANGE_16BIT ((signed short)0x8000) // gocator transmits range data as 16-bit signed integers. 0x8000 signifies invalid range data.
#define DOUBLE_MAX ((k64f)1.7976931348623157e+308) // 64-bit double - largest positive value.
#define INVALID_RANGE_DOUBLE ((k64f)-DOUBLE_MAX) // floating point value to represent invalid range data.
struct MyTiff
{
unsigned short* Tiff;
int w;
int h;
};
struct MyBmp
{
unsigned char* Bmp;
int w;
int h;
};
struct DataContext
{
k32u count;
};
#pragma endregion
class Hd_CameraModule_3DLMI:public Base
{
Q_OBJECT
public:
Hd_CameraModule_3DLMI();
virtual ~Hd_CameraModule_3DLMI();
//从类中读数据到实例对象
bool Hd_CameraModule_3DLMI::readData(std::vector<cv::Mat>& vecPic, QByteArray& data);
//实例对象把数据写入到类
bool writeData(std::vector<cv::Mat>&,QByteArray& qbyte);
bool initParas(QByteArray&);
bool run();
bool checkStatus();
};
extern "C"
{
Q_DECL_EXPORT Hd_CameraModule_3DLMI * create();
Q_DECL_EXPORT void destory(Hd_CameraModule_3DLMI * ptr);
}
#endif // HD_3DCAMERALMI_MODULE_H