Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7745355
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T09:59:40+00:00 2026-06-01T09:59:40+00:00

So i have added the coding4fun and microsoft sources and even done what is

  • 0

So i have added the coding4fun and microsoft sources and even done what is in the kinect sdk for displaying the kinect image frame on the screen, but for some reason it wont show, i works on the sdk though
Code I’ve Written

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Research.Kinect.Nui;
using Coding4Fun.Kinect.Wpf;
using System.Net.Mail;
using System.IO;
using System.ComponentModel;

namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    Runtime nui;

    int PersonDetected = 0;
    int totalFrames = 0;
    int lastFrames = 0;
    DateTime lastTime = DateTime.MaxValue;

    Dictionary<JointID, Brush> jointColors = new Dictionary<JointID, Brush>() { 
        {JointID.HipCenter, new SolidColorBrush(Color.FromRgb(169, 176, 155))},
        {JointID.Spine, new SolidColorBrush(Color.FromRgb(169, 176, 155))},
        {JointID.ShoulderCenter, new SolidColorBrush(Color.FromRgb(168, 230, 29))},
        {JointID.Head, new SolidColorBrush(Color.FromRgb(200, 0,   0))},
        {JointID.ShoulderLeft, new SolidColorBrush(Color.FromRgb(79,  84,  33))},
        {JointID.ElbowLeft, new SolidColorBrush(Color.FromRgb(84,  33,  42))},
        {JointID.WristLeft, new SolidColorBrush(Color.FromRgb(255, 126, 0))},
        {JointID.HandLeft, new SolidColorBrush(Color.FromRgb(215,  86, 0))},
        {JointID.ShoulderRight, new SolidColorBrush(Color.FromRgb(33,  79,  84))},
        {JointID.ElbowRight, new SolidColorBrush(Color.FromRgb(33,  33,  84))},
        {JointID.WristRight, new SolidColorBrush(Color.FromRgb(77,  109, 243))},
        {JointID.HandRight, new SolidColorBrush(Color.FromRgb(37,   69, 243))},
        {JointID.HipLeft, new SolidColorBrush(Color.FromRgb(77,  109, 243))},
        {JointID.KneeLeft, new SolidColorBrush(Color.FromRgb(69,  33,  84))},
        {JointID.AnkleLeft, new SolidColorBrush(Color.FromRgb(229, 170, 122))},
        {JointID.FootLeft, new SolidColorBrush(Color.FromRgb(255, 126, 0))},
        {JointID.HipRight, new SolidColorBrush(Color.FromRgb(181, 165, 213))},
        {JointID.KneeRight, new SolidColorBrush(Color.FromRgb(71, 222,  76))},
        {JointID.AnkleRight, new SolidColorBrush(Color.FromRgb(245, 228, 156))},
        {JointID.FootRight, new SolidColorBrush(Color.FromRgb(77,  109, 243))}
    };

   private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        if (Runtime.Kinects.Count == 0)
        {
            MessageBox.Show("No Kinect Detected");
        }

        else
        {
            nui = Runtime.Kinects[0];

            nui.Initialize(RuntimeOptions.UseColor | RuntimeOptions.UseSkeletalTracking);

            lastTime = DateTime.Now;

            nui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_VideoFrameReady);
            nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);
            //nui.DepthFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_DepthFrameReady);

            nui.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640x480, ImageType.Color);
            //nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution640x480, ImageType.DepthAndPlayerIndex);
        }
    }
    void nui_VideoFrameReady(object sender, ImageFrameReadyEventArgs e)
    {
        //KinectImage.Source = e.ImageFrame.ToBitmapSource();
        PlanarImage Image = e.ImageFrame.Image;
        ++totalFrames;

        {
            string bb1 = Convert.ToString(DateTime.Now);
            string filename = "C:\\Kinected\\Kinect1_Image " + bb1 + ".jpg";

            KinectImage.Source = BitmapSource.Create(
                Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel);

            BitmapSource image = BitmapSource.Create(
                Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel);

            if (PersonDetected == 1)
            {
                image.Save(filename, Coding4Fun.Kinect.Wpf.ImageFormat.Jpeg);
                SendNotificationEmail();
                PersonDetected = 0;
            }
        }
    }

Skeletal Sample Code

 using System;
 using System.Net.Mail;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Data;
 using System.Windows.Documents;
 using System.Windows.Input;
 using System.Windows.Media;
 using System.Windows.Media.Imaging;
 using System.Windows.Navigation;
 using System.Windows.Shapes;
 using Microsoft.Research.Kinect.Nui;
 using Coding4Fun.Kinect.WinForm;
 using Coding4Fun.Kinect.Wpf;
 using System.IO;
 using System.ComponentModel;


 namespace SkeletalViewer
{
 /// <summary>
 /// Interaction logic for MainWindow.xaml
 /// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    Runtime nui;
   // public int ElevationAngle { get; set; }
     //   public static readonly int ElevationMaximum;
       // public static readonly int ElevationMinimum;
        //public static readonly int ElevationMedian;
        //int ElevationMedian = ElevationAngle == 0;
    int totalFrames = 0;
    int totalFrames2 = 0;
    int lastFrames = 0;
    int PersonDetected = 0;
    DateTime lastTime = DateTime.MaxValue;

    // We want to control how depth data gets converted into false-color data
    // for more intuitive visualization, so we keep 32-bit color frame buffer versions of
    // these, to be updited whenever we receive and process a 16-bit frame.
    const int RED_IDX = 2;
    const int GREEN_IDX = 1;
    const int BLUE_IDX = 0;
    byte[] depthFrame32 = new byte[320 * 240 * 4];



    Dictionary<JointID,Brush> jointColors = new Dictionary<JointID,Brush>() { 
        {JointID.HipCenter, new SolidColorBrush(Color.FromRgb(169, 176, 155))},
        {JointID.Spine, new SolidColorBrush(Color.FromRgb(169, 176, 155))},
        {JointID.ShoulderCenter, new SolidColorBrush(Color.FromRgb(168, 230, 29))},
        {JointID.Head, new SolidColorBrush(Color.FromRgb(200, 0,   0))},
        {JointID.ShoulderLeft, new SolidColorBrush(Color.FromRgb(79,  84,  33))},
        {JointID.ElbowLeft, new SolidColorBrush(Color.FromRgb(84,  33,  42))},
        {JointID.WristLeft, new SolidColorBrush(Color.FromRgb(255, 126, 0))},
        {JointID.HandLeft, new SolidColorBrush(Color.FromRgb(215,  86, 0))},
        {JointID.ShoulderRight, new SolidColorBrush(Color.FromRgb(33,  79,  84))},
        {JointID.ElbowRight, new SolidColorBrush(Color.FromRgb(33,  33,  84))},
        {JointID.WristRight, new SolidColorBrush(Color.FromRgb(77,  109, 243))},
        {JointID.HandRight, new SolidColorBrush(Color.FromRgb(37,   69, 243))},
        {JointID.HipLeft, new SolidColorBrush(Color.FromRgb(77,  109, 243))},
        {JointID.KneeLeft, new SolidColorBrush(Color.FromRgb(69,  33,  84))},
        {JointID.AnkleLeft, new SolidColorBrush(Color.FromRgb(229, 170, 122))},
        {JointID.FootLeft, new SolidColorBrush(Color.FromRgb(255, 126, 0))},
        {JointID.HipRight, new SolidColorBrush(Color.FromRgb(181, 165, 213))},
        {JointID.KneeRight, new SolidColorBrush(Color.FromRgb(71, 222,  76))},
        {JointID.AnkleRight, new SolidColorBrush(Color.FromRgb(245, 228, 156))},
        {JointID.FootRight, new SolidColorBrush(Color.FromRgb(77,  109, 243))}
    };



    private void Window_Loaded(object sender, EventArgs e)
    {
        nui = new Runtime();

        try
        {
            nui.Initialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking | RuntimeOptions.UseColor);
        }
        catch (InvalidOperationException)
        {
            System.Windows.MessageBox.Show("Runtime initialization failed. Please make sure Kinect device is plugged in.");
            return;
        }


        try
        {
            nui.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640x480, ImageType.Color);
            nui.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240, ImageType.DepthAndPlayerIndex);
        }
        catch (InvalidOperationException)
        {
            System.Windows.MessageBox.Show("Failed to open stream. Please make sure to specify a supported image type and resolution.");
            return;
        }

        if (Runtime.Kinects.Count < 2)
        {

            lastTime = DateTime.Now;

            nui.DepthFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_DepthFrameReady);
            nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);
            nui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_ColorFrameReady2);
        }

        if (Runtime.Kinects.Count == 2)
        {
            lastTime = DateTime.Now;

            nui.DepthFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_DepthFrameReady);
            nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);
            nui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_ColorFrameReady2);
            nui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_ColorFrameReady3);
        }
    }

    // Converts a 16-bit grayscale depth frame which includes player indexes into a 32-bit frame
    // that displays different players in different colors
    byte[] convertDepthFrame(byte[] depthFrame16)
    {
        for (int i16 = 0, i32 = 0; i16 < depthFrame16.Length && i32 < depthFrame32.Length; i16 += 2, i32 += 4)
        {
           // 
           // System.Windows.MessageBox.Show(depthFrame16);
            int player = depthFrame16[i16] & 0x07;
            int realDepth = (depthFrame16[i16+1] << 5) | (depthFrame16[i16] >> 3);
            // transform 13-bit depth information into an 8-bit intensity appropriate
            // for display (we disregard information in most significant bit)
            byte intensity = (byte)(255 - (255 * realDepth / 0x0fff));

            depthFrame32[i32 + RED_IDX] = 0;
            depthFrame32[i32 + GREEN_IDX] = 0;
            depthFrame32[i32 + BLUE_IDX] = 0;

            // choose different display colors based on player
            switch (player)
            {
                case 0:
                    depthFrame32[i32 + RED_IDX] = (byte)(intensity / 2);
                    depthFrame32[i32 + GREEN_IDX] = (byte)(intensity / 2);
                    depthFrame32[i32 + BLUE_IDX] = (byte)(intensity / 2);
                    break;
                case 1:
                    depthFrame32[i32 + RED_IDX] = intensity;
                    break;
                case 2:
                    depthFrame32[i32 + GREEN_IDX] = intensity;
                    break;
                case 3:
                    depthFrame32[i32 + RED_IDX] = (byte)(intensity / 4);
                    depthFrame32[i32 + GREEN_IDX] = (byte)(intensity);
                    depthFrame32[i32 + BLUE_IDX] = (byte)(intensity);
                    break;
                case 4:
                    depthFrame32[i32 + RED_IDX] = (byte)(intensity);
                    depthFrame32[i32 + GREEN_IDX] = (byte)(intensity);
                    depthFrame32[i32 + BLUE_IDX] = (byte)(intensity / 4);
                    break;
                case 5:
                    depthFrame32[i32 + RED_IDX] = (byte)(intensity);
                    depthFrame32[i32 + GREEN_IDX] = (byte)(intensity / 4);
                    depthFrame32[i32 + BLUE_IDX] = (byte)(intensity);
                    break;
                case 6:
                    depthFrame32[i32 + RED_IDX] = (byte)(intensity / 2);
                    depthFrame32[i32 + GREEN_IDX] = (byte)(intensity / 2);
                    depthFrame32[i32 + BLUE_IDX] = (byte)(intensity);
                    break;
                case 7:
                    depthFrame32[i32 + RED_IDX] = (byte)(255 - intensity);
                    depthFrame32[i32 + GREEN_IDX] = (byte)(255 - intensity);
                    depthFrame32[i32 + BLUE_IDX] = (byte)(255 - intensity);
                    break;
            }
           // file_dist.Close();
        }

       // Console.WriteLine(depthFrame32);

        return depthFrame32;
    }

    void nui_ColorFrameReady(object sender, ImageFrameReadyEventArgs e)
    {
        // 32-bit per pixel, RGBA image
        PlanarImage Image = e.ImageFrame.Image;
        ++totalFrames;
        string bb1 = Convert.ToString(totalFrames);
        // string file_name_3 = "C:\\Research\\Kinect\\Proposal\\Depth_Img" + bb1 + ".jpg"; xxx
        string file_name_4 = "C:\\temp\\Video_Img" + bb1 + ".jpg";
        video.Source = BitmapSource.Create(
            Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel);

                BitmapSource image4 = BitmapSource.Create(
                    Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel);
          //      image4.Save(file_name_4, Coding4Fun.Kinect.Wpf.ImageFormat.Jpeg);

    }

    void nui_ColorFrameReady2(object sender, ImageFrameReadyEventArgs e)
    {
        // 32-bit per pixel, RGBA image  xxx
        PlanarImage Image = e.ImageFrame.Image;
        //int deltaFrames = totalFrames - lastFrameWithMotion;
        //if (totalFrames2 <= stopFrameNumber & deltaFrames > 300)
        {
           ++totalFrames2;
            string bb1 = Convert.ToString(totalFrames2);
            // string file_name_3 = "C:\\Research\\Kinect\\Proposal\\Depth_Img" + bb1 + ".jpg"; xxx
            string file_name_4 = "C:\\Kinected\\Kinect1_Img" + bb1 + ".jpg";
            video.Source = BitmapSource.Create(
                Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel);

            BitmapSource image4 = BitmapSource.Create(
                Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel);

            if (PersonDetected == 1)
            {
                if (totalFrames2 % 10 == 0)
                {
                    image4.Save(file_name_4, Coding4Fun.Kinect.Wpf.ImageFormat.Jpeg);
                    SendNotificationEmail();
                    PersonDetected = 0;
                    // lastFrameWithMotion = totalFrames;
                    // topFrameNumber += 100;
                }
            }
        }

    }

Any ideas about why it isnt displaying the image on my application?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T09:59:42+00:00Added an answer on June 1, 2026 at 9:59 am

    Do what benjgorman said, if your using an xbox kinect, it will still work with the new sdk. You can get it here. The code feels a bit different from the older programs, but you’ll get used to it pretty fast. You can get the tutorials i used from here, or use the code i provided, make sure that you add the sources Microsoft.Kinect and add the project from the kinect explorer(you download that via the sdk) Microsoft.Samples.Kinect.WpfViewers and then add that as a source. I would reccomend watching the tutorials as they explain the classes and what you need in the SDK
    Code

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using Microsoft.Kinect;
    using System.Net.Mail;
    using Coding4Fun.Kinect.Wpf;
    using Microsoft.Samples.Kinect.WpfViewers;
    using System.Diagnostics;
    
    namespace WpfApplication1
    {
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
     private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            kinectSensorChooser1.KinectSensorChanged += new DependencyPropertyChangedEventHandler(kinectSensorChooser1_KinectSensorChanged);
        }
    
        void kinectSensorChooser1_KinectSensorChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            KinectSensor oldSensor = (KinectSensor)e.OldValue;
            StopKinect(oldSensor);
    
            KinectSensor newSensor = (KinectSensor)e.NewValue;
    
            newSensor.ColorStream.Enable();
            newSensor.DepthStream.Enable();
            newSensor.SkeletonStream.Enable();
            newSensor.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(newSensor_AllFramesReady);
            try
            {
                newSensor.Start();
            }
            catch (System.IO.IOException)
            {
                kinectSensorChooser1.AppConflictOccurred();
            }
        }
    
        void StopKinect(KinectSensor sensor)
        {
            if (sensor != null)
            {
                sensor.Stop();
                sensor.AudioSource.Stop();
            }
        }
    
        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            StopKinect(kinectSensorChooser1.Kinect);
        }
        void newSensor_AllFramesReady(object sender, AllFramesReadyEventArgs e)
        {
            using (ColorImageFrame colorFrame = e.OpenColorImageFrame())
            {
                if (colorFrame == null)
                {
                    return;
                }
    
                byte[] pixels = new byte[colorFrame.PixelDataLength];
                colorFrame.CopyPixelDataTo(pixels);
    
                int stride = colorFrame.Width * 4;
                video.Source = BitmapSource.Create(
                    colorFrame.Width, colorFrame.Height, 96, 96, 
                    PixelFormats.Bgr32, null, pixels, stride);
             }
           }
    

    Hope this helps.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have added meta tag description in my page, but it is not displaying
I have added some javascript code in my haml %script tag. But I noticed
I have added some code which compiles cleanly and have just received this Windows
I have added the required assemblies and registered the NVelocityViewFactory in global.asax.cs page but
I have added some dynamic textboxes upon a button click. I need the values
I have added an EventHandler for the Click-event to a picturebox but on runtime
I have added a navigation controller in iphone app from my home screen it
I have added above code in my WPF from which include animated GIF image,
I have added a second Virtual Device to test a different screen resolution (QVGA),
I have added some testers to my Facebook application while it is still in

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.