public KinectDepthImageTexture(KinectDevice device, KinectDepthImageType type) { m_Device = device; m_ImageType = type; m_Image = new ImageBox(null); }
public KinectColorImageTexture(KinectDevice device) { m_Device = device; m_Image = new ImageBox(null); m_Image.FlipHorizontal = true; }
public MainModel() { mKinect = KinectDevice.Instance; mWindow = (MainWindow)System.Windows.Application.Current.MainWindow; //mVoiceControl = VoiceControl.Instance(); speechRecognizer = SpeechRecognizer.Create(); //returns null if problem with speech prereqs or instantiation. if (speechRecognizer != null) { speechRecognizer.Start(new KinectAudioSource()); //KinectSDK TODO: expose Runtime.AudioSource to return correct audiosource. speechRecognizer.SaidSomething += new EventHandler <SpeechRecognizer.SaidSomethingEventArgs>(recognizer_SaidSomething); } mSkeleton = mKinect.mSkeleton; mGraphPlot = mWindow.theGraphPlot.vm; mCurrentModeState = ModeState.TrackingMode; mWindow.IndicatorPan.TrackingButton.IsChecked = true; UpdateMode((int)ModeState.TrackingMode); mSelectedJoint = "Head"; ChangeCurrentJoint(mSelectedJoint); mLineGraphing = new LineGraphing(); mParabolaGraphing = new ParabolaGraphing(); mSineGraphing = new SineGraphing(); mAllowLineEdit = false; mAllowParabolaEdit = false; mAllowSineEdit = false; mRandom = new Random(); }
private void DrawFace() { for (int i = 0; i < FaceModel.VertexCount; i++) { Vector3 point = Target.ToVector3(KinectDevice.GetNeckLocalFacePoint(i)); Debug.DrawRay(headTarget.neck.target.transform.position + headTarget.neck.target.transform.rotation * point, Vector3.forward * 0.01F); } }
protected void UpdateBones(HeadSensor sensor) { if (headTarget.head.target.confidence.position > KinectDevice.TrackingConfidence(KinectDevice.JointID.Head)) { if (headTarget.humanoid.leftHandTarget.hand.target.confidence.position > KinectDevice.TrackingConfidence(KinectDevice.JointID.WristLeft) && headTarget.humanoid.rightHandTarget.hand.target.confidence.position > KinectDevice.TrackingConfidence(KinectDevice.JointID.WristRight)) { CalibrateWithHeadAndHands(); } else { CalibrateWithHead(); } return; } //if (headTarget.head.target.confidence.rotation > 0) { // headTarget.head.target.transform.rotation = Kinect2Tracker.SmoothRotation(headTarget.head.target.transform.rotation, sensor.head.rotation); // headTarget.head.target.confidence.rotation = sensor.head.confidence.rotation; // headTarget.head.target.transform.position = Kinect2Tracker.SmoothPosition(headTarget.head.target.transform.position, sensor.head.position); // headTarget.head.target.confidence.position = sensor.head.confidence.position; //} //if (headTarget.neck.target.confidence.rotation > 0) { // headTarget.neck.target.transform.rotation = Kinect2Tracker.SmoothRotation(headTarget.neck.target.transform.rotation, sensor.neck.rotation); // headTarget.neck.target.confidence.rotation = sensor.neck.confidence.rotation; // headTarget.neck.target.transform.position = Kinect2Tracker.SmoothPosition(headTarget.neck.target.transform.position, sensor.neck.position); // headTarget.neck.target.confidence.position = sensor.neck.confidence.position; //} else { if (headTarget.neck.target.transform != null) { headTarget.neck.target.transform.position = Target.ToVector3(sensor.neck.position); headTarget.neck.target.transform.rotation = Target.ToQuaternion(sensor.neck.rotation); headTarget.neck.target.confidence = sensor.neck.confidence; } if (headTarget.head.target.transform != null) { headTarget.head.target.transform.position = Target.ToVector3(sensor.head.position); headTarget.head.target.transform.rotation = Target.ToQuaternion(sensor.head.rotation); headTarget.head.target.confidence = sensor.head.confidence; } if (rotationTrackingAxis == RotationTrackingAxis.XY) { headTarget.head.target.transform.rotation = Quaternion.LookRotation(headTarget.head.target.transform.rotation * Vector3.forward); } } if (headTarget.virtual3d) { UpdateVirtual3D(); } }
public override void UpdateTracker() { if (!enabled) { return; } //status = kinectTransform.status; if (trackerTransform != null) { if (KinectDevice.status == Status.Unavailable) { trackerTransform.gameObject.SetActive(false); } else { trackerTransform.gameObject.SetActive(true); } } if (KinectDevice.status != Status.Unavailable) { if ((humanoid.headTarget.kinect.status == Status.Tracking) || (humanoid.leftHandTarget.kinect.status == Status.Tracking) || (humanoid.rightHandTarget.kinect.status == Status.Tracking) || (humanoid.hipsTarget.kinect.status == Status.Tracking) || (humanoid.leftFootTarget.kinect.status == Status.Tracking) || (humanoid.rightFootTarget.kinect.status == Status.Tracking)) { status = Status.Tracking; } else { status = Status.Present; } } else { status = Status.Unavailable; } if (trackerTransform != null) { kinectDevice.position = Target.ToVector(trackerTransform.position); kinectDevice.orientation = Target.ToRotation(trackerTransform.rotation); //device.position = trackerTransform.position; //device.rotation = trackerTransform.rotation; } //device.Update(); //status = kinectTransform.status; KinectDevice.Update(); }
private void UpdateBones() { head.position = kinectDevice.GetTargetPosition(KinectDevice.JointID.Head); head.confidence.position = KinectDevice.TrackingConfidence(KinectDevice.JointID.Head); Rotation localRotation = KinectDevice.GetHeadOrientation(); head.rotation = device.ToWorldOrientation(localRotation); head.confidence.rotation = 0.6F; neck.position = kinectDevice.GetTargetPosition(KinectDevice.JointID.Neck); neck.confidence.position = KinectDevice.TrackingConfidence(KinectDevice.JointID.Neck); neck.rotation = head.rotation; neck.confidence.rotation = 0.6F; }
public override Status Update() { if (!KinectDevice.JointIsTracked(KinectDevice.JointID.Neck)) { status = Status.Present; return(status); } status = Status.Tracking; if (headTracking) { UpdateBones(); } return(status); }
public int volumethreshold = 9; // Used to determine when the volule is enough high to be a peak (volume between 0 and 13-14) #endregion #region Constructor /// <summary> /// Instantiates a Pitch object /// </summary> public Pitch(KinectDevice kd) { this.recordingFormat = new WaveFormat(44100, 1); this.pitchList = new List <float>(); this.pitchRecorded = new List <float>(); this.sent = false; this.isRecording = false; this.kinect = kd; i = 0; AudioAnalysis.FFT.reflexEvent += switchSendEvent; Length = 500; Threshold = 20.0; ThresholdVariation = 50.0; minFrequency = 10.0; maxFrequency = 130.0; instance = this; }
public override void StartTracker(HumanoidControl _humanoid) { _humanoid = humanoid; if (!enabled) { return; } AddTracker(humanoid); KinectDevice.Start(); //device = new KinectInterface(); //device.Init(); //kinectTransform = device.GetTracker(); //status = kinectTransform.status; }
public override Status Update() { if (!KinectDevice.JointIsTracked(KinectDevice.JointID.HipCenter)) { status = Status.Present; return(status); } status = Status.Tracking; hips.position = kinectDevice.GetTargetPosition(KinectDevice.JointID.HipCenter); hips.confidence.position = KinectDevice.TrackingConfidence(KinectDevice.JointID.HipCenter); chest.position = kinectDevice.GetTargetPosition(KinectDevice.JointID.SpineShoulder); chest.confidence.position = KinectDevice.TrackingConfidence(KinectDevice.JointID.SpineShoulder); Vector lHipPosition = kinectDevice.GetTargetPosition(KinectDevice.JointID.HipLeft); Vector rHipPosition = kinectDevice.GetTargetPosition(KinectDevice.JointID.HipRight); Vector lrDirection = rHipPosition - lHipPosition; Vector lrDirection2 = Rotation.AngleAxis(90, Vector.forward) * lrDirection; Vector direction = chest.position - hips.position; hips.rotation = kinectDevice.ToWorldOrientation(Rotation_.FromToRotation(direction, lrDirection2) * Rotation.AngleAxis(180, Vector.up)); hips.confidence.rotation = 0.8F; hips.length = Vector.Magnitude(hips.position - chest.position); hips.confidence.length = 0.6F; Vector neckPosition = kinectDevice.GetTargetPosition(KinectDevice.JointID.Neck); chest.rotation = CalculateBoneRotation(neckPosition, chest.position, hips.rotation * Vector.forward) * Rotation.AngleAxis(90, Vector.right) * Rotation.AngleAxis(180, Vector.up); chest.confidence.rotation = 0.8F; chest.length = Vector.Magnitude(neckPosition - chest.position); chest.confidence.length = 0.6F; return(status); }
public KinectDeviceViewModel() { kinectDevice = new KinectDevice(); }
public KinectFieldImage(CompositeFieldImage owner, KinectDevice device) { // assign the parent m_Parent = owner; // assign the device m_Device = device; // calculate size from the resilution of the device m_Stride = KinectHelper.GetWidthForResolution(m_Device.DepthResolution); m_Width = m_Stride - 8; m_Height = KinectHelper.GetHeightForResolution(m_Device.DepthResolution); int size = m_Stride * m_Height; // create array for the feild data m_FieldData = new double[size]; // create arrays for blending and clip maps m_BlendingMap = new double[size]; m_DepthClippingMap = new double[size]; }
public override void StopTracker() { //if (device != null) // device.Stop(); KinectDevice.Stop(); }
private void UpdateEyelids(FaceTarget face) { face.leftEye.closed = Mathf.Clamp01(KinectDevice.GetFaceExpression(KinectDevice.FaceExpression.EyeClosedLeft) * 4 - 2.5F); face.rightEye.closed = Mathf.Clamp01(KinectDevice.GetFaceExpression(KinectDevice.FaceExpression.EyeClosedRight) * 4 - 2.5F); }
public void RegisterDevice(KinectDevice device) { KinectFieldImage image = new KinectFieldImage(this, device); Images.Add(image); }
public void Load_KinectCamera() { mKinect = KinectDevice.Instance; this.FloatingWindowSize = new Size(640, 480); //this.ShowAsFloatingWindow(false); }