Just wanted to introduce myself and say hello. I'm working on a port
of OpenKinect for Java. Currently I did a really quick test with JNI
and ran the results in Processing (on Mac OSX only)
http://www.shiffman.net/2010/11/14/kinect-and-processing/
If you aren't familiar with Processing it's an open source programming
language and environment for images, animations, and interactions and
is built with Java.
I'm under a big deadline for another project that is happening
December 3rd, but my month of December is hopefully going to be
dedicated to Kinect testing and building out Java libraries for it.
Advice, comments, etc. are welcome!
Thanks for everyone's wonderful hard work and inspiring spirit!
Dan
Great - I also thought about implementing that!
Maybe I get in touch with python then ;)
> Thanks for everyone's wonderful hard work and inspiring spirit!
>
> Dan
>
Cheers,
Florian
---------------------------------------------------------
Javier Quevedo Fernández
jque...@gmail.com
Spain +34 618 420 028
Netherlands +31 684888066
---------------------------------------------------------
I'm hoping to dedicate the month of december to building out the Java
library for both mac and windows so stay tuned, I will announce any
new releases here. This is all happening too fast for me, darn these
other work and teaching commitments, all I want to do is kinect!
Dan
shiffman.net/p5/kinect.zip
kinect.jar
kinectNative.jnilib
You can simply add the jar to your classpath when compiling and you'll
be all set! I'll publish the source, etc. to github soon, sorry for
being slow here. . .
Dan
Unfortunately, my library at the moment just passes back two int
arrays (one for RGB and one for depth, using grayscale colors). I
did it really quickly and just implemented that much, but plan on
exposing all of the raw data to Java in the next release. Stay
tuned!!
Dan
PeasyCam v0.91
processing.app.debug.RunnerException: UnsatisfiedLinkError: no Kinect in
java.library.path
at processing.app.Sketch.placeException(Sketch.java:1543)
at processing.app.debug.Runner.findException(Runner.java:583)
at processing.app.debug.Runner.reportException(Runner.java:558)
at processing.app.debug.Runner.exception(Runner.java:498)
at
processing.app.debug.EventThread.exceptionEvent(EventThread.java:367)
at processing.app.debug.EventThread.handleEvent(EventThread.java:255)
at processing.app.debug.EventThread.run(EventThread.java:89)
Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError:
no Kinect in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1755)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:993)
at shiffman.kinect.NativeKinect.<clinit>(NativeKinect.java:25)
at SimpleKinect.setup(SimpleKinect.java:63)
at processing.core.PApplet.handleDraw(PApplet.java:1583)
at processing.core.PApplet.run(PApplet.java:1503)
at java.lang.Thread.run(Thread.java:655)
Thanks in advance
Ali
On 11/17/10 10:09 PM, Henkka wrote:
> Hello,
>
> I made an small point-cloud demo, using Daniel's great library and
> Kyle's great ThreePhase-application as an example of calculations
> needed. This seems just about the minimum that is needed to get simple
> real-time point-cloud demo up and running in Processing.
>
> Some video at http://www.youtube.com/watch?v=4Cvqw2QS3Yk
>
> If anyone wants to grab the code used, it can be found from
> http://yty.net/h/simplekinect.pde
>
> Thanks Daniel& Kyle for sharing these great pieces of software !
Ali
Dan
http://wiki.processing.org/w/Sign_an_Applet
Dan
Regards,
Andy
On 21/11/2010 3:06 AM, Daniel Shiffman wrote:
> Ah, sorry, I think the Processing library currently supports intel mac
> only. I will investigate and get back to you!
>
>
> On Sat, Nov 20, 2010 at 9:13 PM, AndyC<an...@kinonet.com> wrote:
>> Does anyone have any suggestions for what the problem is? Is it for
>> Intel-based Macs only or is there something else wrong?
>>
I don't know if it will help with the problem that you have, but I have
found it impressively fast.
Regards,
Andy
Sorry to be so out of touch about this work. I'm slowly returning to
this project and plan on implementing more over the holidays. The
library that Andy referenced is great and uses the up-to-date
libfreenect code:
https://github.com/nrocy/processing-openkinect
However, I was thinking what might be easiest / best is to piggy-back
off of the work done already to wrap libfreenect with Java:
http://openkinect.org/wiki/Java_Wrapper
My plan is to take a look at this work and make a Processing bridge to it.
If anyone has any thoughts / suggestions, etc. please let me know.
Thanks all!
Dan
based on Michaels git repos (Java Wrapper) I wrote a trivial
Java app which just displays the rgb frames in a JFrame.
I'm experiencing serious performance issues now... The wrapper
delivers ~6 fps (ColorImage) and ~4-5 fps (DepthImage). Do
you guys have noticed that too?
The glview example seems to be okay (fast).
I can upload my app somewhere if needed ...
Cheers,
Florian
On 12/16/2010 09:24 AM, misan wrote:
> Oops, I answer myself:
>
> Wrappers are not in the current version but going back they are there:
>
> https://github.com/michael-nischt/libfreenect/commit/8b5cf892cfbed3426bd8b4db4a5a711e3070d0c5
>
> Thanks,
>
> Miguel
>
>
> On 16 dic, 09:20, misan <m1g...@gmail.com> wrote:
>> Hi Yoda,
>>
>> I'm afraid java wrappers are missing there too (at least I failed to
>> find them).
>>
>> Thanks,
>>
>> Miguel
>>
>> On 15 dic, 19:42, yoda <y...@greatmindsworking.com> wrote:
>>
>>
>>
>>
>>
>>
>>
>>> Michael Nischt's JNI wrapper has not yet been merged into the main
>>> libfreenect branch. Its available here:https://github.com/michael-nischt
>>> On Dec 15, 11:55 am, misan <m1g...@gmail.com> wrote:
>>>> Hi Daniel:
>>>> Maybe I'm missing something here but I fail to see the Java folder in
>>>> the wrappers of libfreenect project (as now openkinect has merged into
>>>> it).
>>>> So following the instructions you mention is not possible at the
>>>> moment (or so I think).
>>>> I'm really interested on getting Kinect working on Processing in
>>>> Linux, but I'm a little bit disoriented (as I am not familiar with JNI
>>>> nor Processing internals).
>>>> But I'll be happy to help.
>>>> I've got it working in Linux with libfreenect, in Windows 7 with CL
>>>> NUI and on OSX with openFrameworks and in Processing too (with your
>>>> code).
>>>> Kind regards,
>>>> Miguel S�nchezhttp://fightpc.blogspot.com
On 12/17/2010 04:49 PM, Felix wrote:
> I had to add -d32 to the jvm becuase the native code is 32bit only.
> Everything else work nicely, although a bit slow.
>
What do you mean by slow?
The java wrapper
https://github.com/michael-nischt/libfreenect
produces approx. 5-6 fps
Cheers,
Florian
I adapted the existing JNI wrapper to work with Processing. Made some
changes and compiled all the native code into a JNILIB file using
xcode (yuck!).
Source is here:
https://github.com/shiffman/libfreenect/tree/master/wrappers/java/processing
Download library here:
https://github.com/shiffman/libfreenect/blob/master/wrappers/java/processing/distribution/openkinect.zip
I'm getting 30 FPS for both the depth and RGB images (independently).
If you ask for both I'm getting about 20 FPS on each.
Tons more to do on this library, help welcome!
(Also, embarrassingly, this is the first time I've ever used git. So
any help / advice is welcome. I forked Michael Nischt's fork of
libfreenect, which I hope was the appropriate thing to do.)
Thanks all!
Dan
Thanks for this library. I have downloaded it and have got the following
error when I try the example sketch. Do you have any suggestions?
"You are missing the kinectEvent() method.
java.lang.NoSuchMethodException:
RGBDepthTest.kinectEvent(org.openkinect.processing.Kinect)
Invalid memory access of location 0xe6 eip=0x921c9a74"
libfreenect is installed using Homebrew and the glview test application
works, as does the nrocy Processing library.
If you need any more info, feel free to contact me either on or off list.
Regards,
Andy
On 12/20/2010 04:32 PM, Andy Clarke wrote:
> Hi there,
>
> Thanks for this library. I have downloaded it and have got the following
> error when I try the example sketch. Do you have any suggestions?
>
> "You are missing the kinectEvent() method.
> java.lang.NoSuchMethodException:
> RGBDepthTest.kinectEvent(org.openkinect.processing.Kinect)
> Invalid memory access of location 0xe6 eip=0x921c9a74"
>
> libfreenect is installed using Homebrew and the glview test application
> works, as does the nrocy Processing library.
>
>
Currently it just works on MacOS, thats why there's a JNILIB ...
Regards,
Andy
> Currently it just works on MacOS, thats why there's a JNILIB ...
>> Thanks for this library. I have downloaded it and have got the following
>> error when I try the example sketch. Do you have any suggestions?
>>
>> "You are missing the kinectEvent() method.
>> java.lang.NoSuchMethodException:
>> RGBDepthTest.kinectEvent(org.openkinect.processing.Kinect)
>> Invalid memory access of location 0xe6 eip=0x921c9a74"
>>> Download library here:
>>> https://github.com/shiffman/libfreenect/blob/master/wrappers/java/processing/distribution/openkinect.zip
This message:
Invalid memory access of location 0xe6 eip=0x921c9a74
is more concerning. Is it possible your connect is open / in use
with another app?
Dan
Thanks for the reply. I have done some more investigation into this.
The "Invalid memory access" error only occurs when I shut down the
sketch in certain ways. If I press the 'stop' button in the Processing
IDE, the sketch exits fine without error. If I press 'command Q' or
'escape' within the sketch, or choose 'quit RGBDepthTest' from the menu
in the sketch, I get the error message and a warning dialog which says
"RGBDepthTest quit unexpectedly while using the libKinect.jnlib
plug-in." Once I have dismissed the error, I can start the sketch up again.
I hope this helps. If you need any more information, just let me know
(though as you already have this issue logged (as #7), I presume you can
reproduce the error).
Aside from this, the library works fine. I was just thrown by the
kinectEvent() error and the blank screen and didn't realise that the
demo sketch starts with the RGB and depth displays both turned off as
default.
Regards,
Andy
On 20/12/2010 6:54 PM, Daniel Shiffman wrote:
> You can ignore the eventMethod() related error. That's just a
> placeholder right now, i should probably remove it, but haven't
> implemented a kinectEvent() method yet.
>
> This message:
> Invalid memory access of location 0xe6 eip=0x921c9a74
> is more concerning. Is it possible your connect is open / in use
> with another app?
>>>> Thanks for this library. I have downloaded it and have got the following
Does adding this fix the error for you? (it did for me).
void stop() {
kinect.quit();
super.stop();
}
Thanks!
Dan
Thanks for this suggestion. I have finally had a chance to test this fix
and the results are as follows.
Pressing ESC in sketch:
I get the following in the IDE text area (in stead of the Invalid memory
access error)
java.lang.InterruptedException: sleep interrupted
at java.lang.Thread.sleep(Native Method)
at org.openkinect.processing.Kinect.run(Kinect.java:90)
Pressing Command Q in sketch:
Invalid memory access of location 0xe6 eip=0x921c9a74 (as before)
Pressing Stop in Processing IDE:
fine (as before)
I'll keep having a look at it - let me know if you have any other
suggestions.
Regards.
Andy
> Does adding this fix the error for you? (it did for me).
>
> void stop() {
> kinect.quit();
> super.stop();
> }
>> The "Invalid memory access" error only occurs when I shut down the
>> sketch in certain ways.
karma.iranger.com>java -jar kinect.jar
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/satz/Desktop/kinect/processing-openkinect/build/Debug/libKinect.jnilib: no suitable image found. Did find: /Users/satz/Desktop/kinect/processing-openkinect/build/Debug/libKinect.jnilib: mach-o, but wrong architecture
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1823)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at king.kinect.NativeKinect.<clinit>(NativeKinect.java:8)
at Kinect.main(Kinect.java:6)
karma.iranger.com>java -d32 -jar kinect.jar
Found 1 device(s)
Device 0 initialised
Invalid memory access of location 0x0 eip=0x17daa31
Bus error
I played around with the xcode project settings and different architectures but I couldn't get it to generate anything other then an i386 jnilib. Let me know if there is anything else I can try...
Thanks,
Greg
On Jan 9, 2011, at 2:08 PM, Matt Gilbert wrote:
> Andy, I finally got around to trying nrocy's library, and it worked
> great, right out of the box, in the Processing IDE. It currently lacks
> a few bells and whistles (motor control, etc), but I haven't
> encountered any of the UnsatisfiedLinkErrors I was getting with
> shiffman's. Still not sure what caused those, but the library works
> great:
> https://github.com/nrocy/processing-openkinect
>
> I'll keep following the development of shiffman's library and try it
> out every once in a while. Personally though, I do hope nrocy's
> library continues to be developed, since it works for me with no
> complaints.
>
> Matt
>
>
> On Dec 14 2010, 3:37 pm, Matt Gilbert <gilbm...@gmail.com> wrote:
>> Andy, thanks! I will try this out soon.
>>
>> On Dec 14, 12:57 pm, Andy Clarke <a...@kinonet.com> wrote:
>>
>>> The following is a good alternativeProcessinglibrary:https://github..com/nrocy/processing-openkinect
>>
>>> I don't know if it will help with the problem that you have, but I have
>>> found it impressively fast.
>>
>>> Regards,
>>
>>> Andy
>>
>>> On 14/12/2010 5:02 PM, Matt Gilbert wrote:
>>
>>>> Dan, is there a plan to release a new version of this library? Are
>>>> there plans to release the source? I've also been running into the
>>>> UnsatisfiedLinkError inProcessing/Eclipse
>>
>>>> Matt
>
> !DSPAM:4d2a23f6991421219519540!
>
I've been using the CLNUI 4 Java library, along with Processing, on Windows.
I'm building GUI apps using JRuby and Monkeybars with these.
(Of course what I really would like is a way to build one cross-platform
app where I can swap in the lowerlevel JNI bindings based on OS while
keeping the high-lelvel API calls the same, but for the time being I'm
OK exploring on WIndows.)
James Britt
--
jamesbritt.com - Playing with Better Toys
neurogami.com - Smart application development
azhackers.com - Feed your head. Hack your world.
Hi there,
Thanks for all of your work on this Processing library, Dan - it looks
really great.
I have tried installing and running the library and have got the
following error when running the KinectTest example, even though other
people here seem to be having no problem with it.
Does anyone have any suggestions for what the problem is? Is it for
Intel-based Macs only or is there something else wrong? It seems to be
finding the library ok, but having some other problem with it.
At the moment, I am using a G5 running OSX 10.5.8 and Processing 1.2.1
on Java 1.5.0 - if you need any more information, just let me know.
Thanks in advance,
Andy
-- start of error message --
processing.app.debug.RunnerException: UnsatisfiedLinkError: /Users/
mpcg/Documents/Processing/libraries/kinect/library/libKinect.jnilib:
no suitable image found. Did find: /Users/mpcg/Documents/Processing/
libraries/kinect/library/libKinect.jnilib: mach-o, but wrong
architecture
at processing.app.Sketch.placeException(Sketch.java:1543)
at processing.app.debug.Runner.findException(Runner.java:583)
at processing.app.debug.Runner.reportException(Runner.java:558)
at processing.app.debug.Runner.exception(Runner.java:498)
at processing.app.debug.EventThread.exceptionEvent(EventThread.java:
367)
at processing.app.debug.EventThread.handleEvent(EventThread.java:255)
at processing.app.debug.EventThread.run(EventThread.java:89)
Exception in thread "Animation Thread"
java.lang.UnsatisfiedLinkError: /Users/mpcg/Documents/Processing/
libraries/kinect/library/libKinect.jnilib: no suitable image found.
Did find: /Users/mpcg/Documents/Processing/libraries/kinect/library/
libKinect.jnilib: mach-o, but wrong architecture
at java.lang.ClassLoader$NativeLibrary.load(Native Method)