示例#1
0
        static void Main(string[] args)
        {
            Console.WriteLine("------------------------------------------");
            Console.WriteLine("MetriCam 2 Minimal Sample.");
            Console.WriteLine("Get MetriCam 2 at http://www.metricam.net/");
            Console.WriteLine("------------------------------------------");

            // Create camera object
            Camera camera;

            try
            {
                camera = new Kinect2();
            }
            catch (Exception e)
            {
                Console.WriteLine(Environment.NewLine + "Error: Could not create a PrimeSense camera object.");
                Console.WriteLine((e.InnerException == null) ? e.Message : e.InnerException.Message);
                Console.WriteLine("Press any key to exit.");
                Console.ReadKey();
                return;
            }

            // Connect, get one frame, disconnect
            Console.WriteLine("Connecting camera");
            camera.Connect();

            Console.WriteLine("Fetching one frame");
            camera.Update();

            try
            {
                Console.WriteLine("Accessing color data");
                ColorCameraImage img           = (ColorCameraImage)camera.CalcChannel(ChannelNames.Color);
                Bitmap           rgbBitmapData = img.ToBitmap();
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(String.Format("Error getting channel {0}: {1}.", ChannelNames.Color, ex.Message));
            }

            try
            {
                Console.WriteLine("Accessing distance data");
                FloatCameraImage distancesData = (FloatCameraImage)camera.CalcChannel(ChannelNames.Distance);
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(String.Format("Error getting channel {0}: {1}.", ChannelNames.Distance, ex.Message));
            }

            Console.WriteLine("Disconnecting camera");
            camera.Disconnect();

            Console.WriteLine("Finished. Press any key to exit.");
            Console.ReadKey();
        }
示例#2
0
    public void ColorImage()
    {
        if (camera.IsConnected)
        {
            camera.Update();
            ColorCameraImage img = (ColorCameraImage)camera.CalcChannel(MetriCam2.ChannelNames.Color);
            img_color = img.ToBitmap();
            System.Drawing.Bitmap b  = new System.Drawing.Bitmap(img_color);
            Texture2D             tx = new Texture2D(img_color.Width, img_color.Height, TextureFormat.BGRA32, false);
            tx.LoadRawTextureData(imageToByteArray(b));
            tx.Apply();
            ColorImg.texture = tx;

            img.Dispose();
        }
    }