private void LongExposureInfraredReader_FrameArrived(object sender, LongExposureInfraredFrameArrivedEventArgs e) { if (this.processingLongExposureInfraredFrame) { return; } this.processingLongExposureInfraredFrame = true; bool longExposureInfraredFrameProcessed = false; using (LongExposureInfraredFrame longExposureInfraredFrame = e.FrameReference.AcquireFrame()) { if (longExposureInfraredFrame != null) { using (Microsoft.Kinect.KinectBuffer longExposureInfraredBuffer = longExposureInfraredFrame.LockImageBuffer()) { // verify data and write the color data to the display bitmap if (((this.longExposureInfraredFrameDescription.Width * this.longExposureInfraredFrameDescription.Height) == (longExposureInfraredBuffer.Size / this.longExposureInfraredFrameDescription.BytesPerPixel))) { this.ProcessLongExposureInfraredFrameData(longExposureInfraredBuffer.UnderlyingBuffer, longExposureInfraredBuffer.Size, this.longExposureInfraredFrameDescription.BytesPerPixel); longExposureInfraredFrameProcessed = true; } } } } if (longExposureInfraredFrameProcessed) { this.Rescale(this.longExposureInfraredPixels, this.truncatedLongExposureInfraredPixels); this.longExposureInfraredFrameCallback(this.truncatedLongExposureInfraredPixels); } this.processingLongExposureInfraredFrame = false; }
private void FrameArrived(object sender, LongExposureInfraredFrameArrivedEventArgs e) { var frame = e.FrameReference.AcquireFrame(); if (frame != null) { frame.CopyFrameDataToIntPtr(this.frameData.DataPointer, (uint)this.frameData.SizeInBytes); frame.Dispose(); if (this.FrameReceived != null) { this.FrameReceived(this, new LongExposureInfraredFrameDataEventArgs(this.frameData)); } } }
private void LongExposureInfraredReader_FrameArrived(object sender, LongExposureInfraredFrameArrivedEventArgs e) { if (this.processingLongExposureInfraredFrame) { return; } this.processingLongExposureInfraredFrame = true; bool longExposureInfraredFrameProcessed = false; using (LongExposureInfraredFrame longExposureInfraredFrame = e.FrameReference.AcquireFrame()) { if (longExposureInfraredFrame != null) { using (Microsoft.Kinect.KinectBuffer longExposureInfraredBuffer = longExposureInfraredFrame.LockImageBuffer()) { // verify data and write the color data to the display bitmap if (((this.longExposureInfraredFrameDescription.Width * this.longExposureInfraredFrameDescription.Height) == (longExposureInfraredBuffer.Size / this.longExposureInfraredFrameDescription.BytesPerPixel))) { this.ProcessLongExposureInfraredFrameData(longExposureInfraredBuffer.UnderlyingBuffer, longExposureInfraredBuffer.Size, this.longExposureInfraredFrameDescription.BytesPerPixel); longExposureInfraredFrameProcessed = true; } } } } if (longExposureInfraredFrameProcessed) { this.longExposureInfraredFrameCallback(this.longExposureInfraredPixels); } this.processingLongExposureInfraredFrame = false; }
internal MessageLongExposureInfraredFrameArrived(LongExposureInfraredFrameArrivedEventArgs infraredFrame) { this.LongExposureInfraredFrameArgs = infraredFrame; }
/// <summary> /// Called when an long exposure infrared fame has arrived from the sensor. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="InfraredFrameArrivedEventArgs"/> instance containing the event data.</param> private void OnReaderLongExposureInfrared_FrameArrived(object sender, LongExposureInfraredFrameArrivedEventArgs e) { // Notify flowrate occurrence m_performanceAnalyzer.NotifyFlowRateOccurrence( Constants.KINECT_PERF_FLOWRATE_LONG_EXPOSURE_INFRARED_FRAME); using (var frame = e.FrameReference.AcquireFrame()) { if (frame == null) { return; } this.AquiredLongExposureInfraredFrames = this.AquiredLongExposureInfraredFrames + 1; // Publich event to whole application m_Messenger.Publish( new MessageLongExposureInfraredFrameArrived(e)); } }