By Rishabh Maheshwari. Objective of today’s lecture Play Angry Birds in 3D.

Slides:



Advertisements
Similar presentations
Page 1 | Microsoft Work With Depth Data Kinect for Windows Video Courses Jan 2013.
Advertisements

Image Processing … computing with and about data, … where "data" includes the values and relative locations of the colors that make up an image.
What’s New in Kinect for Windows v2 Click to add title
Verification of specifications and aptitude for short-range applications of the Kinect v2 depth sensor Cecilia Chen, Cornell University Lewis’ Educational.
Capturing Your Audience with Kinect
Wait, what? More than just technology catch-up. Johnny Lee (Carnegie Mellon) * Motion-Tracking/Head-Tracking/Virtual Whiteboard
DIGITAL IMAGE PROCESSING CMSC 150: Lecture 14. Conventional Cameras  Entirely chemical and mechanical processes  Film: records a chemical record of.
Work With Skeleton Data
CPVR 2013 Tutorial. Native Managed Applications Toolkit Drivers Runtime Skeletal Tracking.
Bit Depth and Spatial Resolution SIMG-201 Survey of Imaging Science © 2002 CIS/RIT.
Page 1 | Microsoft Work With Color Data Kinect for Windows Video Courses Jan 2013.
1 References: 1. J.M. Hart, Windows System Programming, 4th Ed., Addison-Wesley, 2010, Ch.12 2.Microsoft Kinect SDK for Developers,
Page 1 | Microsoft Introduction to audio stream Kinect for Windows Video Courses.
Page 1 | Microsoft Streams sync and coordinate mapping Kinect for Windows Video Courses.
L.
CHUCK NORRIS HAD TO DESTROY THE PERIODIC TABLE… HE ONLY RECOGNIZES THE ELEMENT OF SURPRISE!
A Brief Overview of Computer Vision Jinxiang Chai.
EEC-492/592 Kinect Application Development Lecture 10 Wenbing Zhao
Image processing Second lecture. Image Image Representation We have seen that the human visual system (HVS) receives an input image as a collection of.
Kinect SDK Crash Course (In 12 slides or less) Elliot Babchick.
Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.
Page 1 | Microsoft Work With Color Data Kinect for Windows Video Courses Jan 2013.
L. Akshay Masare Piyush Awasthi IMAGE PROCESSING AND OPENCV.
1 EEC-492/592 Kinect Application Development Lecture 2 Wenbing Zhao
Programming with the Kinect for Windows SDK
Agenda Last class: Memory, Digitizing Numbers Today: Digitizing: Text
Image Representation. Digital Cameras Scanned Film & Photographs Digitized TV Signals Computer Graphics Radar & Sonar Medical Imaging Devices (X-Ray,
Ben Lower Kinect Community Evangelism Kinect for Windows in 5 Minutes.
Graphics: Conceptual Model Real Object Human Eye Display Device Graphics System Synthetic Model Synthetic Camera Real Light Synthetic Light Source.
12/5/2015 EEC492/693/793 - iPhone Application Development 1 EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 4 Wenbing Zhao
COMPUTER GRAPHICS. Can refer to the number of pixels in a bitmapped image Can refer to the number of pixels in a bitmapped image The amount of space it.
KINECT FOR WINDOWS Ken Casada Developer Evangelist, Microsoft Switzerland | blogblog.
Introduction to Kinect For Windows SDK
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 8 Wenbing Zhao
Intelligent Robotics Today: Vision & Time & Space Complexity.
2/16/2016 EEC492/693/793 - iPhone Application Development 1 EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 4 Wenbing Zhao
SUREILLANCE IN THE DEPARTMENT THROUGH IMAGE PROCESSING F.Y.P. PRESENTATION BY AHMAD IJAZ & UFUK INCE SUPERVISOR: ASSOC. PROF. ERHAN INCE.
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 9 Wenbing Zhao
OpenCV C++ Image Processing
Creative Coding & the New Kinect
Sampling, Quantization, Color Models & Indexed Color
EEC-492/592 Kinect Application Development
Introduction to Microsoft Kinect Sensor Programming
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
Programming HCI Yingcai Xiao Yingcai Xiao.
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
Kinect for Creative Development with open source frameworks
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-492/592 Kinect Application Development
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
Application of Facial Recognition in Biometric Security
EEC-693/793 Applied Computer Vision with Depth Cameras
Year 8 Unit 2 Bitmap Graphics
Presentation transcript:

By Rishabh Maheshwari

Objective of today’s lecture Play Angry Birds in 3D

What’s an image ? An image is simply a collection of pixels, each of which contains some data. ( A pixel is characterized by (x,y) ) Let us see some types of images...

Binary Image Each Pixel has either 1 (White) or 0 (Black) Each pixel has 1 bit information ( Binary images are seldom used )

Grayscale Each Pixel has a value from 0 to : black and 255 : White Between 0 and 255 are shades of b&w. Each pixel has 1 byte information It is stored as an array of bytes.

Grayscale Image

RGB Image Each Pixel stores 3 values :- R : G: B : Each pixel has 3 bytes of information It is also stored as an array of bytes.

RGB image

Before moving to depth image, we must familiarize ourselves with the basics of kinect. What is a kinect camera ? Kinect is a camera which gives R, G, B and depth information of each pixel.

How does Kinect work? Kinect has 3 components :- color camera ( takes RGB values) IR camera ( takes depth data ) Microphone array ( for speech recognition )

Depth Image

But what’s the use of Depth ?? For this, Lets Discuss some Image Processing

Background/Foreground Subtraction 1. On an Image ( Pixel Select Method ) 2. On a Running Video ( Running Average Method )

Edge Detection (the gradient)

How can a Depth Image help in the above two ?? Back to kinect ….

Player A player is the (human) skeleton which is detected by kinect sdk. There can be multiple players. Each pixel stores the corresponding “player index”. Player index = 1 Player index = 2 By default:- Player index = 0

Depth Image (Specific To Kinect sdk v1 ) Each pixel stores :- Player index : 0 – 7 ( 3 bits ) Depth( in mm) : 0 – 8192 ( 13 bits ) It is stored as an array of shorts. ( A short is a 16 bit data type) PPPDDDDDDDDDDDDD Player Index Depth

Some important datatypes:- Kinect is defines as a datatype ( same as int or char) KinectSensor _kinect; Kinect sdk can handle multiple kinects at same time and treats these kinects as an array of kinect datatype :- _kinect =KinectSensor.KinectSensors[0]; DepthImagePoint is a struct which stores X, Y and Depth of a point :- DepthImagePoint xyz; You can use: xyz.Xxyz.Yxyz.Depth

Kinect has 3 streams ColorStream : contains RGB data as byte array DepthStream : contains depth data as short array SkeletonStream : a template (What ??) You need to enable these streams in the beginning as per your requirements.

What is a SkeletonStream ? When skeletonstream is called, it recognizes skeletons and populates pixels of depthstream with player index. *If skeletonstream is not enabled, player index of all pixels of depthstream will remain 0.

Using skeletonstream, kinect sdk provides us with 20 joints. Joints

Eg:- JointType.HandRight JointType.FootLeft JointType.ShoulderLeft and so on.... Psuedo Code :- righthand = JointType.HandRight float x = righthand.X Joints

Let’s start with coding 1.Install visual studio. 2.Install kinect sdk for visual studio. 3.Select New Project 4.In C# projects, select WPF project 5.Add Microsoft.Kinect in reference of your project. 6.Write using Microsoft.Kinect;

As you open your new project, a default window is provided. There are 2 events associated with this window:- Window_Loaded() // when window loads Window_Closing() // When is pressed

The Final basic code:- KinectSensor _kinect; Window_Loaded() { _kinect = KinectSensor.KinectSensors[0]; _kinect.ColorStream.Enable(); _kinect.DepthStream.Enable(); _kinect.SkeletonStream.Enable(); _kinect.Start(); } Window_Closing() { _kinect.Stop(); }

Lets see the code to understand more about “frame events”

Questions ? For online video lectures :-