Esempio n. 1
0
    public override Status StartRun()
    {
        handLandmarksStreamPoller = graph.AddOutputStreamPoller <List <NormalizedLandmarkList> >(handLandmarksStream).ConsumeValueOrDie();
        handLandmarksPacket       = new NormalizedLandmarkListVectorPacket();

        handednessStreamPoller = graph.AddOutputStreamPoller <List <ClassificationList> >(handednessStream).ConsumeValueOrDie();
        handednessPacket       = new ClassificationListVectorPacket();

        palmDetectionsStreamPoller = graph.AddOutputStreamPoller <List <Detection> >(palmDetectionsStream).ConsumeValueOrDie();
        palmDetectionsPacket       = new DetectionVectorPacket();

        palmRectsStreamPoller = graph.AddOutputStreamPoller <List <NormalizedRect> >(palmRectsStream).ConsumeValueOrDie();
        palmRectsPacket       = new NormalizedRectVectorPacket();

        handLandmarksPresenceStreamPoller = graph.AddOutputStreamPoller <bool>(handLandmarksPresenceStream).ConsumeValueOrDie();
        handLandmarksPresencePacket       = new BoolPacket();

        palmDetectionsPresenceStreamPoller = graph.AddOutputStreamPoller <bool>(palmDetectionsPresenceStream).ConsumeValueOrDie();
        palmDetectionsPresencePacket       = new BoolPacket();

        sidePacket = new SidePacket();
        sidePacket.Emplace("num_hands", new IntPacket(2));

        return(graph.StartRun(sidePacket));
    }
Esempio n. 2
0
 static IntPtr HandRectsFromLandmarksCallback(IntPtr graphPtr, IntPtr packetPtr)
 {
     return(InvokeIfGraphRunnerFound <HandTrackingGraph>(graphPtr, packetPtr, (handTrackingGraph, ptr) => {
         using (var packet = new NormalizedRectVectorPacket(ptr, false)) {
             if (handTrackingGraph.TryGetPacketValue(packet, ref handTrackingGraph.prevHandRectsFromLandmarksMicrosec, out var value))
             {
                 handTrackingGraph.OnHandRectsFromLandmarksOutput.Invoke(value);
             }
         }
     }).mpPtr);
 }
Esempio n. 3
0
 static IntPtr MultiBoxRectsCallback(IntPtr graphPtr, IntPtr packetPtr)
 {
     return(InvokeIfGraphRunnerFound <ObjectronGraph>(graphPtr, packetPtr, (objectronGraph, ptr) => {
         using (var packet = new NormalizedRectVectorPacket(ptr, false)) {
             if (objectronGraph.TryGetPacketValue(packet, ref objectronGraph.prevMultiBoxRectsMicrosec, out var value))
             {
                 objectronGraph.OnMultiBoxRectsOutput.Invoke(value);
             }
         }
     }).mpPtr);
 }
    public override Status StartRun(SidePacket sidePacket)
    {
        multiHandLandmarksStreamPoller = graph.AddOutputStreamPoller <List <NormalizedLandmarkList> >(multiHandLandmarksStream).ConsumeValue();
        multiHandLandmarksPacket       = new NormalizedLandmarkListVectorPacket();

        multiPalmDetectionsStreamPoller = graph.AddOutputStreamPoller <List <Detection> >(multiPalmDetectionsStream).ConsumeValue();
        multiPalmDetectionsPacket       = new DetectionVectorPacket();

        multiPalmRectsStreamPoller = graph.AddOutputStreamPoller <List <NormalizedRect> >(multiPalmRectsStream).ConsumeValue();
        multiPalmRectsPacket       = new NormalizedRectVectorPacket();

        multiPalmDetectionsPresenceStreamPoller = graph.AddOutputStreamPoller <bool>(multiPalmDetectionsPresenceStream).ConsumeValue();
        multiPalmDetectionsPresencePacket       = new BoolPacket();

        return(graph.StartRun(sidePacket));
    }
    public override Status StartRun()
    {
        multiFaceLandmarksStreamPoller = graph.AddOutputStreamPoller <List <NormalizedLandmarkList> >(multiFaceLandmarksStream).ConsumeValueOrDie();
        multiFaceLandmarksPacket       = new NormalizedLandmarkListVectorPacket();

        faceRectsFromLandmarksStreamPoller = graph.AddOutputStreamPoller <List <NormalizedRect> >(faceRectsFromLandmarksStream).ConsumeValueOrDie();
        faceRectsFromLandmarksPacket       = new NormalizedRectVectorPacket();

        faceDetectionsStreamPoller = graph.AddOutputStreamPoller <List <Detection> >(faceDetectionsStream).ConsumeValueOrDie();
        faceDetectionsPacket       = new DetectionVectorPacket();

        multiFacelandmarksPresenceStreamPoller = graph.AddOutputStreamPoller <bool>(multiFaceLandmarksPresenceStream).ConsumeValueOrDie();
        multiFaceLandmarksPresencePacket       = new BoolPacket();

        faceDetectionsPresenceStreamPoller = graph.AddOutputStreamPoller <bool>(faceDetectionsPresenceStream).ConsumeValueOrDie();
        faceDetectionsPresencePacket       = new BoolPacket();

        sidePacket = new SidePacket();
        sidePacket.Emplace("num_faces", new IntPacket(numFaces));

        return(graph.StartRun(sidePacket));
    }