(四)Kinect人臉識別


kinect可以通過攝動攝像頭不僅可以獲取人臉位置旋轉信息,也可以獲取臉部輪廓的三維坐標

可以參考插件中的場景KinectFaceTrackingDemo1-4,在kinectManager基礎上需要腳本FacetrackingManager。

1)通過KinectManager kinectManager = KinectManager.Instance;獲取到Kinect運行實例

2)通過sensorData = kinectManager.GetSensorData();獲取到傳感器信息

3)同SensorData類的sensorInterface獲取相關信息,如下為部分方法,可以獲得人臉的Rect以及頭部位置等等

 

    bool IsFaceTrackingAvailable(ref bool bNeedRestart);

    // initializes libraries and resources needed by the face tracking subsystem
    bool InitFaceTracking(bool bUseFaceModel, bool bDrawFaceRect);

    // releases the resources and libraries used by the face tracking subsystem
    void FinishFaceTracking();

    // this method gets invoked periodically to update the face tracking state
    // returns true if update is successful, false otherwise
    bool UpdateFaceTracking();

    // returns true if face tracking is initialized, false otherwise
    bool IsFaceTrackingActive();

    // returns true if face rectangle(s) must be drawn in color map, false otherwise
    bool IsDrawFaceRect();

    // returns true if the face of the specified user is being tracked at the moment, false otherwise
    bool IsFaceTracked(long userId);

    // gets the face rectangle in color coordinates. returns true on success, false otherwise
    bool GetFaceRect(long userId, ref Rect faceRect);

    // visualizes face tracker debug information
    void VisualizeFaceTrackerOnColorTex(Texture2D texColor);

    // gets the head position of the specified user. returns true on success, false otherwise
    bool GetHeadPosition(long userId, ref Vector3 headPos);
    
    // gets the head rotation of the specified user. returns true on success, false otherwise
    bool GetHeadRotation(long userId, ref Quaternion headRot);

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM