YituLiveSDK.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #ifndef YITU_LIVE_SDK_H_
  2. #define YITU_LIVE_SDK_H_
  3. #pragma once
  4. namespace YituLiveSDK {
  5. #define FUNCTION_RTN_SUCC 0
  6. #define CAPTURE_TYPE_PASSIVE 0
  7. #define CAPTURE_TYPE_ACTIVE_WITHOUT_LIVENESS 1
  8. #define CAPTURE_TYPE_ACTIVE_WITH_LIVENESS 2
  9. #define STATUS_HeadLeft 0
  10. #define STATUS_HeadRight 1
  11. #define STATUS_HeadUp 2
  12. #define STATUS_HeadDown 3
  13. #define STATUS_HalfFace 4
  14. #define STATUS_HasSunGlasses 5
  15. #define STATUS_HasMask 6
  16. #define STATUS_HasHat 7
  17. #define STATUS_FrontFace 8
  18. #define STATUS_TrackBreak 9
  19. #define STATUS_Normal 10
  20. #define STATUS_Checking_Live 11
  21. #define STATUS_NoFace 99
  22. #define LIVENESSTYPE_HACK 0
  23. #define LIVENESSTYPE_LIVE 1
  24. #define LIVENESSTYPE_NOT_SURE 2
  25. struct Yitu_InitParam
  26. {
  27. char* szPath; //path for models
  28. HWND hwnd; //hwnd to receive the messages
  29. UINT uMsgLivenessDone; //message id for liveness checking done
  30. UINT uMsgImageInfo; //message id for liveness status change
  31. UINT uMsgEchoCamera; //message id for camera echo change
  32. };
  33. struct Yitu_ImageData
  34. {
  35. BITMAP* pImage; //image data
  36. int nCameraID; //identify
  37. double dTimeStamp;//seconds from 1970.1.1, in ms precision
  38. int nFrameID; //frame id, independent for each camera
  39. };
  40. int YituInit(const char *pszDLLPath, Yitu_InitParam* param);
  41. int YituUninit();
  42. int YituStartCapture(int nType);
  43. int YituStopCapture();
  44. int YituAppendFrame(Yitu_ImageData* pData);
  45. int YituGetImage(BITMAP* pbitmap);
  46. int YituHasHackInSession(bool* bHasHack);
  47. int YituGetLiveImageCount(int* nLiveCount);
  48. int YituGetLiveImage(int nLiveImage,BITMAP* pbitmap,int* nLivenessType);
  49. //structure and functions for debug
  50. struct Yitu_TrackData
  51. {
  52. int mCameraId;
  53. int mTrackId;
  54. int mLastFrameId;
  55. RECT rectFace;
  56. double mEyeCloseScore;
  57. double mEyeOpenScore;
  58. bool mHasEyeClose;
  59. bool mHasEyeOpen;
  60. double mFrontFaceScore;
  61. double dblFanpaiScore;
  62. int nFanpaiType;
  63. };
  64. int YituGetTrackCount(int nCameraID,int* nCount);
  65. int YituGetTrackData(int nCameraID,int nIndex,Yitu_TrackData* pData);
  66. }
  67. #endif