Ready for Kinecursor v1.1 with Source Code…

It will be released no later than January 1st, 2013…

Great thanks to Greg Duncan for posting the the “Help me test Kinecursor, Please…” on Coding4Fun
And thanks to all of you that helped me test it..
The result is: It didn’t work with Kinect for Windows device.. Only worked with Kinect for Xbox 360 device..

I’m now able to make it work with Kinect for Windows device.. And I’m ready to share the source code of it!!

I just found the problem..
Damn..I enabled the Near Mode on Kinect for Windows devices, which are able to use near mode.. And under the near mode, the program doesn’t support for most body tracking joints!!…

Another problem is that it was jitter and not smooth..
I think I know what the problem is.. I was using some code to make it look smoother.. Unfortunately, they are the very code that make it jitter and not smooth..
So I’ll simply remove these helpless code..

Posted in Kinect, Tech | Tagged | 1 Comment

Help me test Kinecursor, Please…

For More Details(on how to use it) of Kinecursor please click Here to see the original post.

This decides whether I will share the source code of Kinecurosr with you.. 🙂

I have sent Kinecursor to two guys and it’s weird that both of them said it didn’t work..
But it works perfectly on my PC(Maybe not that perfect.. Still need to be improved)..
Maybe just because they’re using Kinect for Windows and I’m using Kinect for Xbox 360..

So.. I do want to know more details..
You now can download the Demo of Kinect v1.0 (of course, for free..)
Please help me test it..

And simply leave a comment below to tell me:
1.Does it work on your PC?
2.Which Kinect sensor are you using, Kinect for Windows or Kinect for Xbox 360?
3.Which version of Kinect SDK are you using? 1.0, 1.5, 1.6 or what?

Download:
[download id=”14″]

Posted in Kinect, Tech | Tagged | 18 Comments

Kincursor – Yet Another Mouse Controller using Kinect but A Better One!!

Kinecursor = Kinect + Cursor..

I’ve seen several Kinect projects about controlling the cursor.(I’ve found 4 posts[3 projects] of this on Channel9 Codin4Fun..)
And the same part of them is: using one hand to control the cursor and the other hand to perform mouse clicks.
I decided to make a better one. So I created Kinecursor, stands for Kinect + Cursor, which allows you to perform mouse left down/up(down+up=a click) by simply making a fist(It’s not exactly called a fist.. It’s like… a thumbs up..)

Some parts of this video looks like an old video I posted, Kinect Angry Birds Space..
But it’s totally different..
In the “Kinect Angry Birds Space” project, which is not open source, I can only put my hand in a particular area.. But with this one, I can move my hands free(anywhere the Kinect sensor can detect)..

Download the Demo:
[download id=”14″]
How to use it:
Download -> Unzip it -> Run Kinecursor.exe

The hand gestures you should make:
Kinecursor-Gestures

Stand in front of Kinect sensor.
It’s working if your body turns red.
If half of your hand turns yellow.. The Fist: False.

If you extend your thumb leftward or rightward.. The Fist: True.

For now it doesn’t move smoothly.. But I’ll improve it later… 🙂

Posted in Kinect, Tech | Tagged | 11 Comments

Using Kinect to Plants Vs. Zombies

One year ago(in April,2011).. I did this project..
It was featured on KinectHacks.com..
Here’s the link:
www.kinecthacks.com/kinect-games-plants-vs-zombies/

But later I deleted the video on Youtube..
Now I re-upload it..
Here’s the viedeo:

Posted in Kinect, Tech | Tagged | Leave a comment

Kinect Tongue Detector


You can download the demo to try it. (The download is on the bottom..)
The demo simply shows where your tongue moves to.

Requirements:
1.a Kinect sensor.
2.Kinect for Windows SDK v1.5 on your PC.
3.Sufficient lights (for face tracking).

How it works:
1.Track the face(It’s based on Kinect Face Tracking SDK).
2.Get the area of your mouth.
3.Get the closest point to the Kinect sensor of the area.
Kinect Tongue Detector
The red point on the (top-right) depth image is the closest point. It’s where your tip of tongue at.

How to use the Demo:
1.Connect the Kinect sensor to your PC.
2.Unzip the files in a particular directory or folder.
3.Simply double click the “TongueDetector.exe” to run it.
4.Stand in front of the Kinect sensor.
5.If you see two yellow point between your lips, it’s working. Move your tongue and look at the red triangle.

Download:
[download id=”13″]

Posted in Kinect, Tech | Tagged | 6 Comments

Kinect Smile Tracking


I’ll send you the source code if you do this:
Go to the Youtube video page(Click Here), give it a thumbs up, leave a comment below(on the video page, not this blog post), subscribe to my Youtube channel and PM me this project name and your e-mail via Youtube..

You can do in the same way to get source code of some of my other projects.

(I’m just a high school drop out and I don’t update my Youtube channel for commercial use.. This channel is mainly about Programming, especially about Kinect Programming.. I hope you can subscribe to me if you are insterested in it..)

Posted in Kinect, Tech | Tagged | 2 Comments

Kinect Can Do What Leap Motion Can Do

They’re all done by using Kinect for Windows SDK…

Posted in Kinect, Tech | Tagged | 3 Comments

PPCC – A WP7 Style PC Controller on PPC

XDA Thread:
http://forum.xda-developers.com/showthread.php?t=1871605

I hope someone can help me port this app to other phone devices..

Posted in Tech, Windows Mobile | Tagged | Leave a comment

Show Time – A Python program written 2 years ago

这是我两年前(2010年07月10日)刚学Python时写的一个程序..
Here’s a Python program I wrote 2 years ago(on July 10th, 2010)..



这图是两年前截的..当时还在用Vista..
The screen shots were taken 2 years ago when I was using Windows Vista..

这是代码:
Here’s how it works:

import time

def TimeStr(num,linenum):
    if num=="1":
        if linenum==1:
            return ' | '
        elif linenum==2:
            return ' | '
        elif linenum==3:
            return ' | '
        elif linenum==4:
            return ' | '
        else:
            return ' | '
    elif num=="2":
        if linenum==1:
            return '___'
        elif linenum==2:
            return '  |'
        elif linenum==3:
            return '---'
        elif linenum==4:
            return '|  '
        else:
            return '---'
    elif num=="3":
        if linenum==1:
            return '___'
        elif linenum==2:
            return '  |'
        elif linenum==3:
            return '---'
        elif linenum==4:
            return '  |'
        else:
            return '---'
    elif num=="4":
        if linenum==1:
            return ' - '
        elif linenum==2:
            return '/| '
        elif linenum==3:
            return '---'
        elif linenum==4:
            return ' | '
        else:
            return ' | '
    elif num=="5":
        if linenum==1:
            return '---'
        elif linenum==2:
            return '|  '
        elif linenum==3:
            return '---'
        elif linenum==4:
            return '  |'
        else:
            return '__|'
    elif num=="6":
        if linenum==1:
            return '---'
        elif linenum==2:
            return '|  '
        elif linenum==3:
            return '|--'
        elif linenum==4:
            return '| |'
        else:
            return '|_|'
    elif num=="7":
        if linenum==1:
            return '---'
        elif linenum==2:
            return '  |'
        elif linenum==3:
            return ' | '
        elif linenum==4:
            return ' | '
        else:
            return ' | '
    elif num=="8":
        if linenum==1:
            return '---'
        elif linenum==2:
            return '| |'
        elif linenum==3:
            return '|-|'
        elif linenum==4:
            return '| |'
        else:
            return '|_|'
    elif num=="9":
        if linenum==1:
            return '---'
        elif linenum==2:
            return '| |'
        elif linenum==3:
            return '--|'
        elif linenum==4:
            return '  |'
        else:
            return '__|'
    elif num=="0":
        if linenum==1:
            return '---'
        elif linenum==2:
            return '| |'
        elif linenum==3:
            return '| |'
        elif linenum==4:
            return '| |'
        else:
            return '|_|'
    else:
        if linenum==1:
            return '   '
        elif linenum==2:
            return ' O '
        elif linenum==3:
            return '   '
        elif linenum==4:
            return ' O '
        else:
            return '   '

STR=""
while 1:
    for a in range(1,6):
        for b in range(0,8):
            NowTime=time.strftime('%X',time.localtime())
            LetterTime=NowTime[b]
            STR=STR+TimeStr(LetterTime,a)+" "
        print STR
        STR=""
    print "n"
    time.sleep(1)
Posted in Tech | Tagged | Leave a comment

Kinect Angry Birds Space

Youtube:

Youku(The same as the u2 video above..):

It’s developed in C# using Kinect for Windows SDK 1.5.
I put the Kinect sensor high and tilted it down like this:


Now let me introduce my simple way to detect whether you’re gesturing like Gesture 1 or Gesture 2.

1st Step:
Limit the depth data you get. In my case, it’s between 950 to 1120. The red parts are what we get now.

2nd Step:
Limit the area you get so it only gets the area of your two hands.

3rd Step:
Only get the top side of the depth data we get. The red line is what we get now.

How to do this: I add the X coordinate of the depth data to a listbox if there’s no this such X coordinate in the listbox. And next time if you find that the listbox contains the X coordinate you don’t have to record it again, pass it.

4th Step:
If the count(length) of the listbox(the red line) is larger than a value(in my case it’s 30), you’re gesturing like Gesture One. Or you’re gesturing like Gesture Two. Because the Gesture One makes a longer red line.

That’s All~

Sorry for my poor English..

Posted in Kinect, Tech | Tagged | Leave a comment