Проблемы с получением данных о глубине от Kinect - PullRequest
0 голосов
/ 21 февраля 2012

Я целый день бездельничал, пытаясь получить (необработанные) данные из Kinect, но безуспешно.

Я пытался взломать юнит-тесты в своего рода программу, и мой Google-fu подводит меня - я не смог найти другие примеры Java где-либо в сети, используя Java / JNA / osX.

Это тест, который я взломал, но просто не могу показатьсячтобы получить метод для извлечения данных кадра.

 @Test
 public void testDepth() throws InterruptedException {
    assumeThat(dev, is(not(nullValue())));

    final Object lock = new Object();
    final long start = System.nanoTime();
    System.out.println(dev.getDepthMode());
    //dev.startDepth(new DepthHandler(){});
    dev.startDepth(new DepthHandler() {
        int frameCount = 0;

        @Override
        public void onFrameReceived(FrameMode mode, ByteBuffer frame, int timestamp) {

            //ByteBuffer frame1 = frame;
            frameCount++;
            byte[] b = new byte[frame.remaining()];
            System.out.println(frameCount);
            System.out.println(frame.capacity());
            //System.out.println(frame.);
            if (frameCount >= 300) {
                synchronized (lock) {
                    lock.notify();
                    System.out.format("Got %d depth frames in %4.2fs%n", frameCount,
                            (((double) System.nanoTime() - start) / 1000000000));
                }
            }
        }
    });
    synchronized (lock) {
        lock.wait(20000);
    }
}  

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 04 января 2014

Посмотрите на этот проект: https://github.com/murphydactyl/JavaKinectFingerTracker

Функция getDepthFrame предоставляет данные о глубине в доступной форме: https://github.com/murphydactyl/JavaKinectFingerTracker/blob/9ed9fcb7836276f7ac9c2bf25569c68417158df5/kinectdigitizer/KinectFrameGrabber.java

Если вы попытаетесь запустить его с самой новой версией jna, он не будет работать; функция onFrameReceived немного изменилась.

...