• Many are using the Kinect Tutorial files for a simple Ghost Mask... however, this is a bit bloated as it relies on OpenNI’s User-detection / skeleton routines. There are alternative ways to do it based purely on the distance from the sensor, which is a variable you can control.

    The attached sketch (download, unzip to your processing folder, launch Ghost_distance_filter.pde) sends a ghost image via syphon (as Ghost Syphon), and allows user control over the parameters. You need to have the sketch output window active for the keys to work! 
    No OSC is output by this sketch, purely the ghost mask via syphon.
    M = increase minimum distance threshold from sensor
    m = decrease minimum distance threshold from sensor
    X = increase maximum distance threshold from sensor
    x = decrease maximum distance threshold from sensor
    B = increase blur
    b = decrease blur


  • And knock up an Izzy patch as follows to use it... replacing the video in watcher with whatever it is that you want to see behind the mask. d30394-ghost-mask.jpg

  • At risk of being a numpty...

    How do I make the sketch output window active?  
    Unlike the ghost sketch and izzy mac test its not giving me the IR or output image.  I think I am missing something. I may need to revisit earlier tutorials re processing folder pathways.  


  • That looks like you've imported ghost distance filter into the tutorial...? No need. Close everything, open Processing2, file > open > ghost_distance_filter.pde, hit the run button. Sketch should run and it's output window appear. Click onto the output window. Hit X repeatedly to increase the distance from the sensor that it'll detect things within or x to decrease the distance it'll detect within.

  • Thank you for your rapid responses - I don't know how I managed to do that.  Going to have another go today

  • The attached is amended version of the above but with blob detection running on the mask shape / OSC output for the blob centre. Delete original files, replace with these.

    Once you’ve got the processing sketch running and a viewable blob (i.e.: a person silhouetted in white), fire up Isadora and head to Communications > Stream Setup and tick Auto-detect-input. Hit renumber ports, hit OK.
    Then add 2x OSC Listener actors... one with channel set to port number as per stream setup, the other set to [port number +1]
    The first listener is X centre, second listener is Y centre. Use calc actors to adjust / scale as required.


  • Amazing, thank you!

  • Processor capturing Ghost perfectly...

    Snag - when I go to Isadora > Communications > Stream Setup and tick Auto-detect, there are already ports numbered from the previous set up, and renumber ports seems to do nothing. Then if I try using - i.e. torso number and +1, it doesn't see anything.  
    Also when I try this in a new Izzy file without the set up as per tutorials, it doesn't see anything.   
    The ghost is just what I need, and the centre point will be too - I just need to connect Isadora and make the mask work, or even just the ghost as is, but through Isadora.  
    Apologies for missing what might be an obvious trick.  

  • This is the auto-detect ticked, but rename ports seems to do nothing... Is it because I am already hooing it up here to Syphon?  bd4db6-screen-shot-2016-03-13-at-17.30.39.png

  • Have also tried the older one you posted before using Syphon and checked through pathways, doesn't seem to do the mask in Isadora, off or on mask. Eek!  12bbc9-screen-shot-2016-03-13-at-17.49.37.png

  • Got it!!! I hadn't switched up the Syphon receiver from the Kinect_Tracking_Mac.pde... Now as I have this going, hopefully can get the other going too... With the osc listener, though this is already great!

  • @marci


    I've just downloaded your processing sketch for the ghost render from kinect into isadora.

    When I run it, it starts up fine, the output window opens (no image yet) and then the script crashes.

    This is the error message:

    java.lang.RuntimeException: java.lang.IllegalAccessError: tried to access method processing.opengl.PGL.requestFBOLayer()V from class codeanticode.syphon.SyphonServer
    Caused by: java.lang.IllegalAccessError: tried to access method processing.opengl.PGL.requestFBOLayer()V from class codeanticode.syphon.SyphonServer

    and the log:

    I've only started figuring out how processing works and how to read code in java by copying and pasting, trial and error,

    but I am not qualified enough to discover what the problem could be with the script, the software or my cpu.

    Could you help me get it up and running - the sketch would be very helpful in realizing my ideas for the stage.

    Thanks in prospect.


  • Izzy Guru

    Did you download the version 2 of processing?