public static Array2Image ( byte data, int width, int height, int stride ) : byte>.Image |
||
data | byte | |
width | int | |
height | int | |
stride | int | |
return | byte>.Image |
private void depth_FrameReady(object sender, DepthImageFrameReadyEventArgs e) { current_frame_number_for_stop++; if (waiting == 0) { waiting += 2; } else { waiting++; } using (DepthImageFrame depthFrame = e.OpenDepthImageFrame()) { if (depthFrame != null) { int count = 0; int frameNumber = 0; if (depthFrame.Timestamp == 0) { waiting -= 1; return; } if (depthFrame.Timestamp < FirstTimeStamp) { FirstTimeStamp = depthFrame.Timestamp; } frameNumber = GetRealCurrentFrame(depthFrame.Timestamp - FirstTimeStamp); count = frameNumber - PreDepthFrameNumber; PreDepthFrameNumber = frameNumber; //Console.WriteLine("Depth {0} {1} {2} {3} {4}", FirstTimeStamp, depthFrame.Timestamp, depthFrame.Timestamp - FirstTimeStamp, frameNumber, count); depthFrame.CopyDepthImagePixelDataTo(depthPixels); //int minDepth = depthFrame.MinDepth; //int maxDepth = depthFrame.MaxDepth; int width = depthFrame.Width; int height = depthFrame.Height; //Console.WriteLine("Depth:{0} {1}" ,DepthTS,count); colorizer.TransformAndConvertDepthFrame(depthPixels, _colorPixels); var depthImg = ImageConverter.Array2Image(_colorPixels, width, height, width * 4).Convert <Bgr, byte>(); if (depthImg.Ptr != IntPtr.Zero) { for (int i = 0; i < count; i++) { if (depthWriter != null) { depthWriter.WriteFrame(depthImg); } } } } } waiting -= 1; }
private void color_FrameReady(object sender, ColorImageFrameReadyEventArgs e) { current_frame_number_for_stop++; if (waiting == 0) { waiting += 2; } else { waiting++; } using (ColorImageFrame colorFrame = e.OpenColorImageFrame()) { if (colorFrame != null) { int count = 0; int frameNumber = 0; if (colorFrame.Timestamp == 0) { waiting -= 1; return; } if (colorFrame.Timestamp < FirstTimeStamp) { FirstTimeStamp = colorFrame.Timestamp; } frameNumber = GetRealCurrentFrame(colorFrame.Timestamp - FirstTimeStamp); count = frameNumber - PreColorFrameNumber; PreColorFrameNumber = frameNumber; //Console.WriteLine("Color {0} {1} {2} {3} {4}", FirstTimeStamp, colorFrame.Timestamp, colorFrame.Timestamp - FirstTimeStamp, frameNumber,count); colorFrame.CopyPixelDataTo(this._colorPixels); var img = ImageConverter.Array2Image(_colorPixels, 640, 480, 640 * 4).Convert <Bgr, byte>(); if (img.Ptr != IntPtr.Zero) { for (int i = 0; i < count; i++) { if (colorWriter != null) { colorWriter.WriteFrame(img); } } } } } waiting -= 1; }