我用Kinect v2和C#玩了一下,试图得到一个512x424像素大小的图像阵列,其中包含深度数据以及相关的颜色信息(RGBA).
所以我用这个MultiSourceFrameReader班来接收MultiSourceFrame我得到的ColorFrame和DepthFrame.通过这些方法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#项目来合并可以使用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(), …
我刚刚在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.dylib从libfreenect2/build/lib给NiTE-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) 我已在 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) 有关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.
我目前正在使用 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) kinect-v2 ×6
c# ×2
kinect ×2
pykinect ×2
3d ×1
colors ×1
depth ×1
javascript ×1
kinect-sdk ×1
libfreenect2 ×1
macos ×1
node-modules ×1
node.js ×1
opencv ×1
openni ×1
point-clouds ×1
pygame ×1
python ×1
wpf ×1