RvcFaceCapture.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef RVC_FACE_CAPTURE_H_
  2. #define RVC_FACE_CAPTURE_H_
  3. #ifdef RVCFACECAPTURE_EXPORTS
  4. #define RVCFACECAPTURE_API extern "C" __declspec(dllexport)
  5. #else
  6. #define RVCFACECAPTURE_API extern "C" __declspec(dllimport)
  7. #endif
  8. #include <Windows.h>
  9. struct IFaceCapCallback
  10. {
  11. virtual void OnFaceCapImgInfo(const char* msg) = 0;
  12. virtual void OnEchoCamera(int cameraID) = 0;
  13. virtual void OnFaceCapDone() = 0;
  14. virtual ~IFaceCapCallback() { /*nothing to implement*/ }
  15. };
  16. struct RVC_ImageData
  17. {
  18. BITMAP *pImage; //image data
  19. int nCameraID; //identify
  20. double dTimeStamp; //seconds from 1970.1.1, in ms precision
  21. int nFrameID; //frame id, independent for each camera
  22. };
  23. struct RVC_FaceRect
  24. {
  25. int x;
  26. int y;
  27. int width;
  28. int height;
  29. };
  30. struct RVC_TrackData //structure and functions for debug
  31. {
  32. int mCameraId;
  33. int mLastFrameId;
  34. RVC_FaceRect rectFace;
  35. };
  36. RVCFACECAPTURE_API int Init(IFaceCapCallback *pCallback);
  37. RVCFACECAPTURE_API int StartCapture();
  38. RVCFACECAPTURE_API int FeedFrame(RVC_ImageData *pData);
  39. RVCFACECAPTURE_API int StopCapture();
  40. RVCFACECAPTURE_API int UnInit();
  41. RVCFACECAPTURE_API int GetImage(BITMAP* pbitmap, RVC_FaceRect* rectFace);
  42. RVCFACECAPTURE_API int GetTrackData(int nCameraID, RVC_TrackData* pData);
  43. #endif