| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #ifndef INTERACTIVEHAND_H
- #define INTERACTIVEHAND_H
- #include <QObject>
- #include <QJSValue>
- #include <QTimer>
- #include <QDateTime>
- #include <QImage>
- #include <QVideoFrame>
- #include <QPainter>
- #include <QString>
- #include <QBuffer>
- #include <QByteArray>
- #include <QTimerEvent>
- #include <QCamera>
- #include <QVideoSink>
- #include <QMediaDevices>
- #include <QMediaCaptureSession>
- #include <QQuickImageProvider>
- #include <QtMath>
- #include <QRandomGenerator>
- #include "template_singleton.h"
- #include "libs/include/libzkfp.h"
- #include "libs/include/libzkfperrdef.h"
- #include "libs/include/libzkfptype.h"
- #define INTERACTIVE_HAND_IMAGE_URL "InteractiveHandImage"
- class InteractiveHand : public QQuickImageProvider
- {
- SINGLETON_DEFINE(InteractiveHand) // 定义为单例类
- Q_OBJECT
- private:
- InteractiveHand();
- ~InteractiveHand();
- // 获取图像url
- QString getImageUrl();
- public:
- // 设置指纹采集回调
- Q_INVOKABLE void setFingerImageAppearCallBack(QJSValue callback);
- // 指纹图像播放 (采集)
- Q_INVOKABLE void fingerImagePlay();
- // 指纹图像停止 (采集)
- Q_INVOKABLE void fingerImageStop();
- public:
- // 初始化指纹句柄
- void initHandle();
- // 销毁指纹句柄
- void destroyHandle();
- QImage getImage();
- protected:
- QImage requestImage(const QString &, QSize *, const QSize &);
- void timerEvent(QTimerEvent *event);
- private:
- bool m_isInit = false; // 是否初始化成功
- int m_timerId; // 当前定时器ID
- int m_FrameId; // 帧过滤
- QImage m_image; // 图像
- HANDLE m_handle; // 指纹采集器句柄
- quint8 m_switch; // 开关标志
- int m_imageW; // 图像宽
- int m_imageH; // 图像高
- QByteArray m_imageData; // 图像数据
- QByteArray m_templateData; // 模板数据
- unsigned int m_templateSize; // 模板长度
- QJSValue m_imageAppearCallback; // 发现指纹回调
- };
- #endif // INTERACTIVEHAND_H
|