标签: kinect-v2

C#和Kinect v2:获取适合深度像素的RGB值

我用Kinect v2和C#玩了一下,试图得到一个512x424像素大小的图像阵列,其中包含深度数据以及相关的颜色信息(RGBA).

所以我用这个MultiSourceFrameReader班来接收MultiSourceFrame我得到的ColorFrameDepthFrame.通过这些方法ColorFrame.CopyConvertedFrameDataToArray(),DepthFrame.CopyFrameDataToArray()我收到了包含颜色和深度信息的数组:

// Contains 4*1920*1080 entries of color-info: BGRA|BGRA|BGRA..
byte[] cFrameData = new byte[4 * cWidth * cHeight];
cFrame.CopyConvertedFrameDataToArray(cFrameData, ColorImageFormat.Bgra);

// Has 512*424 entries with depth information
ushort[] dFrameData = new ushort[dWidth* dHeight];
dFrame.CopyFrameDataToArray(dFrameData);
Run Code Online (Sandbox Code Playgroud)

现在,我必须将ColorFrame-data-array中的颜色四倍映射到DepthFrame-data-array cFrameData的每个条目,dFrameData但这就是我被卡住的地方.输出应该是阵列大小的4倍(RGBA/BGRA)的dFrameData数组,并包含深度帧的每个像素的颜色信息:

// Create the array that contains the color information for every depth-pixel
byte[] dColors = new byte[4 * dFrameData.Length];
for (int i = 0, j = …
Run Code Online (Sandbox Code Playgroud)

c# colors depth kinect-sdk kinect-v2

12
推荐指数
1
解决办法
706
查看次数

C#和Kinect v2:将Kinect-pointcloud与3D对象的pointcloud合并

目前我正在开发一个C#项目来合并可以使用Kinect SDK从Kinect-v2设备检索的颜色和深度信息,其中包含可以从三维对象文件(.obj ,. stl,依此类推..)因此,我想创建一个像素点云,其中包含两者的信息 - 来自Kinect设备的坐标和颜色信息以及来自目标文件的信息.

到目前为止我做了什么?

  • 我设法设置了两个像素阵列Pixel[]来保存所需的数据(X/Y/Z坐标,以及相关的颜色信息RGB).
  • 一个数组包含Kinect数据,而另一个数组包含
    目标文件的数据.

    public class Pixel 
    {
         public double X { get; set; }
         public double Y { get; set; }
         public double Z { get; set; }
         public byte R { get; set; }
         public byte G { get; set; }
         public byte B { get; set; }
    }
    
    Run Code Online (Sandbox Code Playgroud)

为了获得颜色和深度信息以及设置Kinect数组,我首先使用Kinect-SDK的MultiSourceFrameReader类来获取MultiSourceFrame...

MultiSourceFrame multiSourceFrame = e.FrameReference.AcquireFrame();
Run Code Online (Sandbox Code Playgroud)

..所以我可以在那之后获取颜色/深度框架:

DepthFrame depthFrame = multiSourceFrame.DepthFrameReference.AcquireFrame();
ColorFrame colorFrame = multiSourceFrame.ColorFrameReference.AcquireFrame();
Run Code Online (Sandbox Code Playgroud)

通过这些方法.CopyConvertedFrameDataToArray(), …

c# 3d wpf point-clouds kinect-v2

7
推荐指数
0
解决办法
422
查看次数

如何使用libfreenect2设置OpenNI2和NITE在OSX上进行骨架跟踪?

我刚刚在OSX 10.11.5上设置了libfreenect2,我可以成功运行显示RGB/IR /深度流的Protonect演示,但我也想使用OpenNI/NITE进行骨架跟踪.

我按照repo的README文件中的说明进行了OpenNI,但是当我尝试运行NiViewer时,我得到了这个:

NiViewer 
openDevice failed:
    DeviceOpen using default: no devices found

Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

目前我经历libfreenect2问题在GitHub和记录我尝试和成果在这里.任何提示/提示都很有帮助.

在OSX上使用Kinect v2使用libfreenect2设置和测试OpenNI/NITE的最简单方法是什么?

原来我的时候,我应该一直在使用NiTE2.2我只是复制使用NITE 1.5 libfreenect2-openni2.0.dyliblibfreenect2/build/libNiTE-MacOSX-x64-2.2/Samples/Bin/OpenNI2/Drivers/然后跑了SimpleUserTracker样品和它的工作!

还有一个问题:只打印到控制台的样本运行,但打开窗口和渲染的样本不起作用.没有窗口呈现,好像该线程以某种方式被阻止.那是我使用集成的Intel GPU的时候.如果我使用离散的nVidia GPU,应用程序崩溃:

./UserViewer 
   124095 INFO       New log started on 2016-08-30 20:32:19
   124114 INFO       --- Filter Info --- Minimum Severity: VERBOSE
   126001 VERBOSE    No override device in configuration file
   126029 VERBOSE    Configuration has been read from '/Users/George/Downloads/Grouped/Projects/code+libs/NiTE-MacOSX-x64-2.2/Samples/Bin/OpenNI.ini'
   126034 VERBOSE    OpenNI 2.2.0 (Build 21)-MacOSX …
Run Code Online (Sandbox Code Playgroud)

macos kinect openni libfreenect2 kinect-v2

6
推荐指数
1
解决办法
4510
查看次数

无法导入 pykinect2

我已在 Windows 10 系统上安装了 KinectV2 SDK,并在 SDK 浏览器中成功测试了它。

我尝试运行 Pykinect2 库中的一些代码,但导入时出现问题:

from pykinect2 import PyKinectV2
Run Code Online (Sandbox Code Playgroud)

错误:

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
Cell In[2], line 1
----> 1 from pykinect2 import PyKinectV2
      2 from pykinect2.PyKinectV2 import *

File ~\Anaconda3\envs\kinect-env\lib\site-packages\pykinect2\PyKinectV2.py:2216
   2131 ################################################################
   2132 ## code template for ICoordinateMapper implementation
   2133 ##class ICoordinateMapper_Impl(object):
   (...)
   2200 ##        #return colorPoint
   2201 ##
   2203 tagSTATSTG._fields_ = [
   2204     ('pwcsName', WSTRING),
   2205     ('type', c_ulong),
   (...)
   2214     ('reserved', c_ulong),
   2215 ]
-> 2216 assert sizeof(tagSTATSTG) == …
Run Code Online (Sandbox Code Playgroud)

python pykinect kinect-v2

2
推荐指数
1
解决办法
133
查看次数

如何使用Node.js获取Windows版本?

有关Stack Overflow上的操作系统版本的问题,但没有关于Windows名称的问题,我希望找到使用Node.js的Windows名称.

我已经看着像这么多的模块os,platform,getos和使用process等,发现这些都有助于使获得操作系统说明,工艺环境等.我能得到它是Linux或Windows过我即使用该平台.

但是,我如何检查,是使用Node.js在我的系统上安装的Windows 7还是8?

kinect2在我的Node.js项目中使用模块,它在Windows 8上工作正常,但我希望在Windows 7上使用它.

我已经检查过Kinect2不适用于Windows 7.

javascript node.js kinect node-modules kinect-v2

1
推荐指数
2
解决办法
3311
查看次数

如何将 pygame 图像转换为 Open CV 图像?

我目前正在使用 Pygame 和 pykinect2 从 Kinect2 摄像头获取实时 RGB 视频。我想将其转换为开放的简历图像,以便对我进一步的计算有所帮助。

import pykinect2
import pygame
import cv2
import ctypes
from pykinect2 import PyKinectV2
from pykinect2 import PyKinectRuntime
kinectcam = PyKinectRuntime.PyKinectRuntime(PyKinectV2.FrameSourceTypes_Color)
def draw_color_frame(frame, target_surface):
    target_surface.lock()
    address = kinectcam.surface_as_array(target_surface.get_buffer())
    ctypes.memmove(address, frame.ctypes.data, frame.size)
    del address
    target_surface.unlock()

pygame.init()
frame_surface = pygame.Surface((kinectcam.color_frame_desc.Width, kinectcam.color_frame_desc.Height), 0, 32)
clock = pygame.time.Clock()
pygame.display.set_caption("Kinect View")
infoObject = pygame.display.Info()
screen = pygame.display.set_mode((infoObject.current_w >> 1, infoObject.current_h >> 1),
                            pygame.HWSURFACE|pygame.DOUBLEBUF|pygame.RESIZABLE, 32)
clock = pygame.time.Clock()

done = False
while not done:
    for event in pygame.event.get(): # …
Run Code Online (Sandbox Code Playgroud)

opencv pygame pykinect kinect-v2

1
推荐指数
1
解决办法
3138
查看次数