标签: kinect

我可以在虚拟机上使用Kinect API吗?

这个编程指南暗示这是可能的,所以我想到了什么.

但是现在,它不起作用.

主机操作系统是Vista 64位,VMWare Workstation 6.5.3运行Windows 7企业版32位.

VM上安装的软件:

  • Visual C#2010 Express
  • Microsoft服务器语音平台运行时
  • Microsoft服务器语音识别语言 - Kinect
  • Microsoft Speech Platform SDK
  • 适用于Windows SDK Beta的Kinect

我插入Kinect,设备被VM识别,然后我运行Sample Shape Game,它无法识别设备.它说"插入Kinect然后重试",结果证明是错误0x80080014,这导致 http://social.msdn.microsoft.com/Forums/en-US/kinectsdknuiapi/thread/4da8c75e-9aad-4dc3- bd83-d77ab4cd2f82 / 这给了我两件事要看:

  1. 它是用特殊电缆插入的吗?是
  2. 是设备管理器中的所有4个条目?没有

在设备管理器中,我看到一个包含Microsoft Kinect Audio Control,Microsoft Kinect Camera和Microsoft Kinect Device的"Microsoft Kinect"组,但除了VMware VMaudio之外,"声音,视频和游戏控制器"下没有任何内容.应该有"Kinect USB Audio".

我猜我还有一些与VMWare USB /硬件选项有关的问题(无论是带有USB/CD/HD /软盘等图标的托盘)还是一些巧妙的重启和(联合)插件组合,但我几乎没有热情.

有任何想法吗?TIA

编辑:我意识到我在OpenKinect的主机(Vista)系统上有一些挥之不去的驱动程序.删除后,我再也看不到VM中的Kinect了.嗯.

virtual-machine kinect

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

从多个点(kinect)使用多个图像的3d模型构造

如果从不同角度收集各种图像和深度数据,是否可以构建静止物体的三维模型,我想的是有一种圆形传送带,其中放置了一个kinect和传送带,而在3d空间中重建的真实物体位于中间.然后传送带围绕图像以圆形旋转并且捕获大量图像(可能每秒10个图像),这将允许kinect从包括深度数据的每个角度捕获图像,理论上这是可能的.还必须使用纹理重新创建模型.

我想知道的是,是否有任何类似的项目/软件已经可用,任何链接将被赞赏是否可能在6个月内这样做我将如何继续这样做?比如任何类似的算法,你可以指点我这样的

谢谢,MilindaD

algorithm image-processing computer-vision 3d-reconstruction kinect

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

将16位深度CvMat*转换为8位深度

我正在与Kinect和OpenCV合作.我已经在这个论坛上搜索,但我找不到类似我的问题.我保留了Kinect(16位)的原始深度数据,我将它存储在CvMat*中,然后将其传递给cvGetImage以从中创建IplImage*:

CvMat* depthMetersMat = cvCreateMat( 480, 640, CV_16UC1 );
[...]
cvGetImage(depthMetersMat,temp);
Run Code Online (Sandbox Code Playgroud)

但是现在我需要处理这个图像才能做cvThreshdold并找到轮廓.这两个函数在输入中需要8位深度图像.如何在8位深度的CvMat*中转换CvMat*depthMetersMat?

c++ opencv input depth kinect

10
推荐指数
2
解决办法
4万
查看次数

如何使用Kinect从不同的对象获取真实世界坐标(x,y,z)

我必须使用Kinect获得真实世界坐标(x,y,z).实际上,我想要Kinect的x,y,z距离(以米为单位).我必须从场景中的一个独特的对象(例如一个小黄色框)中获取这些坐标,以不同的颜色着色.

在这里,您可以看到该场景的示例

在此输入图像描述

我想要货架上黄色物体的距离(x,y,z,以米为单位).

请注意,场景中不需要人(骨架).

首先,我想知道是否可行而且简单易行?所以,如果您发送一些可以帮助我完成此任务的链接/代码,我将不胜感激.

coordinates kinect

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

使用Kinect进行面部识别

最近,我一直在使用新的Developer Toolkit(v1.5.1)尝试使用Kinect进行面部识别.可以在此处找到FaceTracking工具的API:http://msdn.microsoft.com/en-us/library/jj130970.aspx.基本上我到目前为止所做的就是获得每个人独有的"面部签名".为此,我参考了Kinect跟踪的这些面部点:(http://i.msdn.microsoft.com/dynimg/IC584330.png).

然后我跟踪了我的脸(加上几个朋友)并使用基本代数计算了点39和8之间的距离.我也获得了当前头部深度的值.下面是我获得的数据样本:

DISTANCE FROM RIGHT SIDE OF NOSE TO LEFT EYE: 10.1919198899636
CURRENT DEPTH OF HEAD: 1.65177881717682
DISTANCE FROM RIGHT SIDE OF NOSE TO LEFT EYE: 11.0429381713623
CURRENT DEPTH OF HEAD: 1.65189981460571
DISTANCE FROM RIGHT SIDE OF NOSE TO LEFT EYE: 11.0023324541865
CURRENT DEPTH OF HEAD: 1.65261101722717
Run Code Online (Sandbox Code Playgroud)

这些只是我获得的一些价值.所以我的下一步是使用excel绘制它们.我的预期结果是深度和距离之间的非常线性的趋势.因为随着深度的增加,距离应该更小,反之亦然.因此,对于人X的数据,趋势是相当线性的.但是对于我的朋友(Y人)来说,情节到处都是.所以我得出结论,我不能使用这种方法进行面部识别.我无法获得跟踪如此小距离所需的精度.

我的目标是能够识别进入房间的人,保存他们的"个人资料",然后一旦他们退出就将其删除.对不起,如果这有点多,但我只是想解释一下到目前为止我取得的进展.那么,你们怎么看待我如何实现面部识别?任何想法/帮助将不胜感激.

image-processing face-detection kinect

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

使用Kinect将保存的动作与其他动作进行比较

我需要开发一个应用程序,其中用户(物理治疗师)将在Kinect前面执行运动,我将在数据库中写入数据运动,然后患者将尝试模仿此运动.系统将计算记录和执行的运动之间的相似性.

我的第一个想法是,在记录期间(每5秒,例如),存储点的位置(x,y,z),然后在执行时间(按患者)比较它们.

我知道这种方法太简单了,因为我想在不同大小的人中,骨架的识别方式不同,因此比较不可靠.

我的问题是将保存的动作与执行的动作(动态)进行比较的最佳方法.

physics gesture kinect

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

如何使用Java访问Kinect?

我目前正在参加计算机视觉课程,对于我的最终项目,我将制作一个与Kinect交互的小游戏.

现在我想用Java制作这个游戏,因为我之前从未真正想过制作游戏,而且我对语言很满意.但我似乎无法找到一种方法来访问深度数据(我只需要将其打包成一些Java数据结构)和RGB数据(相同的想法).

现在,我有办法与Kinect"交谈".我按照教程操作,可以使用glview终端中的命令检测kinect .

我有一个名为Processing的东西,它承诺是一个允许我使用Kinect的Java库,但是它使用的是自己的语言,它是用Java构建的,所以它不是真正的Java,这意味着我不能使用所有的GUI和正常的Java功能.

我想要做的是以某种方式调用import random.Kinect.code;Java程序的顶部,让我使用最基本的Kinect功能,如getDepth()或getRGB(),并在Java中执行其他所有操作.

有谁知道我可以这样做的方式?(顺便说一句,我正在运行MAC OSX Lion)

java macos processing kinect

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

使用SDK 2.0的Kinect for Windows(v1)

我在使用SDK 2.0安装Kinect for Windows(V1版本)时遇到问题.我假设SDK 2.0还包含v1所需的驱动程序,因为下载细节说明引入了对Kinect for Windows v2传感器的支持.

我遇到的问题是在USB 3.0端口插入kinect后(kinect已插入AC),它安装了驱动程序,但设备管理器有黄色三角形,并且它不断发出插入/拔出的声音.

我错过了一个步骤,还是应该使用不同的SDK版本(如果是,哪一个)?

kinect kinect-sdk

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

如何使用kinect检测人的视线?

目前我正在开展一个使用Kinect的项目,这个项目要求我知道那个人在那个时候所看到的地方,我发现我需要找到那个人的视线.

现在,我可以找到人的骨骼的头部但不能跟踪眼球运动.

if (body.TrackingState == SkeletonTrackingState.Tracked)
{
    Joint joint = body.Joints[JointType.Head];
    SkeletonPoint skeletonPoint = joint.Position;

    // 2D coordinates in pixels
    System.Drawing.Point point = new System.Drawing.Point();

    if (_mode == CameraMode.Color)
    {
        // Skeleton-to-Color mapping
        ColorImagePoint colorPoint = _sensor.CoordinateMapper.MapSkeletonPointToColorPoint(skeletonPoint, ColorImageFormat.RgbResolution640x480Fps30);

        point.X = colorPoint.X;
        point.Y = colorPoint.Y;
        //Console.WriteLine(" X == " + point.X + " Y == " + point.Y);
        X = (int)Math.Floor(point.X + 0.5);
        Y = (int)Math.Floor(point.Y + 0.5);
    }

    // DRAWING...
    Ellipse ellipse = new Ellipse
    {
        Fill = System.Windows.Media.Brushes.LightBlue,
        Width …
Run Code Online (Sandbox Code Playgroud)

c# kinect kinect-sdk

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

尽管初始大小固定,但BoundingBox/ROI跟踪对象的大小仍在不断增加

我试图使用Media Flow Tracker根据区域跟踪我的手,但是一段时间后边界框会不断增加.它在前10秒左右正常工作.

这是一段代码片段:

def main():
display = SimpleCV.Display()
cam = Kinect()
ts = []
bb = None
img = cam.getDepth().flipHorizontal()
while display.isNotDone():
    depth = cam.getDepth().flipHorizontal()
    filtered = depth.stretch(0, 180).binarize().dilate(1)

    if bb is None:
        blobs = filtered.findBlobs()
        if blobs:
            hand = blobs.filter(abs(7000 - blobs.area()) < 500)
            print hand
            if hand:
                bb = hand[0].boundingBox()
                print bb
    if bb is not None:
        ts = filtered.track("mftrack", ts, img, bb)
        if ts:
            ts.drawBB()
            ts.showPixelVelocityRT()
            ts.drawPath()
    filtered.show()
Run Code Online (Sandbox Code Playgroud)

c++ python opencv kinect simplecv

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