标签: kinect

在Windows上编译Python的Open Kinect驱动程序时出现问题

我正在尝试在Windows上 编译Python的Open Kinect驱动程序我用CMake(链接)创建了一个Make文件,并尝试用VC++ Express编译它.

除了Python包装器之外,所有内容似乎都可以正常编译(查看器示例正常工作).我更改了freenect的输出文件夹,它将freenect.lib放在另一个文件夹中以防止发生冲突.当我改变它并尝试编译cython_freenect时,我得到:

1>------ Build started: Project: ZERO_CHECK, Configuration: Release Win32 ------
2>------ Build started: Project: freenect, Configuration: Release Win32 ------
2>     Creating library C:/IvoPython/Kinect/Driver/lib/Release/freenect.lib and object C:/IvoPython/Kinect/Driver/lib/Release/freenect.exp
2>  freenect.vcxproj -> C:\IvoPython\Kinect\Driver\Release\freenect.dll
3>------ Build started: Project: freenect_sync, Configuration: Release Win32 ------
3>     Creating library C:/IvoPython/Kinect/Driver/lib/Release/freenect_sync.lib and object C:/IvoPython/Kinect/Driver/lib/Release/freenect_sync.exp
3>  freenect_sync.vcxproj -> C:\IvoPython\Kinect\Driver\Release\freenect_sync.dll
4>------ Build started: Project: cython_freenect, Configuration: Release Win32 ------
4>LINK : fatal error LNK1149: output filename matches input filename 'C:\IvoPython\Kinect\Driver\lib\Release\freenect.lib'
========== Build: …
Run Code Online (Sandbox Code Playgroud)

python kinect

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

使用Kinect去除背景:围绕体形消除噪音

目标是在不同的背景上显示人(也称为背景移除).

我正在使用Kinect和微软的Beta Kinect SDK这样做.借助深度,背景被过滤,我们只得到人的形象.

这很简单,我们可以找到在Internet上无处不在的代码.然而,深度信​​号是有噪声的,并且我们得到不属于所显示的人的像素.

我应用了边缘检测器来查看它是否有用,我目前得到了这个:

这是另一个没有边缘检测:

在此输入图像描述

我的问题是:我可以通过哪种方式摆脱这些嘈杂的白色像素?

我尝试了形态学操作,但身体的某些部分被擦除,仍留下白色像素.

该算法不需要是实时的,我可以在按下"保存图像"按钮时应用它.

编辑1:

我只是尝试用形状边框上最近的帧做背景减法.你看到的单个像素是闪烁的,这意味着它是噪音,我可以很容易地摆脱它们.

编辑2:

该项目现已结束,这就是我们所做的:使用OpenNI驱动程序手动校准Kinect,该驱动程序直接提供红外图像.结果非常好,但每次校准都是针对每个Kinect的.

然后,我们在边框上应用了一点透明度,结果看起来非常棒!但是,我无法提供图片.

image-processing kinect

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

如何使用Kinect跟踪一个人(trackingID)

我想跟踪第一个人,并使用此人的右手导航我制作的应用程序.

我可以接管光标,现在我只想跟踪一个人.所以基本上当一个人在节目中导航,并且有人走在他身后或正在寻找这个人时,如果他们移动,那么kinect就不应该认出其他人.

我怎么能实现这一点,我知道它与trackingId什么有关呢?:■

        foreach (SkeletonData s in allSkeletons.Skeletons)
        {

                if (s.TrackingState == SkeletonTrackingState.Tracked)
                {
                    if (s.TrackingID == 0)
                    {

                        foreach (Joint joint in s.Joints)
                        {
                        }
                    }
                }
        }
Run Code Online (Sandbox Code Playgroud)

c# wpf tracking gesture-recognition kinect

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

暂停Kinect Camera - SDK调节事件处理程序可能出错

我正在将Microsoft SDK Beta代码转换为2012年2月发布的Microsoft SDK官方发行版.

我添加了一个通用PauseKinect()来暂停Kinect.我的暂停只会删除更新图像的事件处理程序

优点:

  • 无重新初始化(30秒等待时间)

缺点:

  • Kinect仍在处理图像

暂停方法(仅限颜色)

internal void PauseColorImage(bool isPaused)
{
    if (isPaused)
    {
        _Kinect.ColorFrameReady -= ColorFrameReadyEventHandler;
        //_Kinect.ColorStream.Disable();
    }

    else
    {
        _Kinect.ColorFrameReady += ColorFrameReadyEventHandler;
        //_Kinect.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:

即使我正在删除事件,为什么它仍然被触发?

注意:

此外,当我暂停彩色图像时,我也会在其对象中暂停深度和骨骼.

边注:

如果我取消注释我的代码它可以正常工作,但是它将永远重新初始化,这不是我想要做的.

反射器中的MS

public void AddHandler(EventHandler<T> originalHandler)
{
    if (originalHandler != null)
    {
        this._actualHandlers.Add(new ContextHandlerPair<T, T>(originalHandler, SynchronizationContext.Current));
    }
}

public void RemoveHandler(EventHandler<T> originalHandler)
{
    SynchronizationContext current = SynchronizationContext.Current;
    ContextHandlerPair<T, T> item = null;
    foreach (ContextHandlerPair<T, T> pair2 …
Run Code Online (Sandbox Code Playgroud)

c# wpf kinect

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

将Kinect ColorImageFrame转换为Bitmap

我在XNA上使用Kinect(Microsoft SDK).我想用GRATF进行标记识别

如何将Kinect的数据转换ColorImageFrameSystem.Drawing.Bitmap或者AForge.Imaging.UnmanagedImage我可以使用GRATF处理它们?

void kinectSensor_ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
{
    Bitmap bitmap = null;
    ColorImageFrame frame = e.OpenColorImageFrame();
    byte[] buffer = new byte[frame.PixelDataLength];
    frame.CopyPixelData(buffer);

    // how to convert the data in buffer to a bitmap?

    var glyphs = recognizer.FindGlyphs(bitmap);

    ...
}
Run Code Online (Sandbox Code Playgroud)

.net c# xna aforge kinect

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

从Kinect传感器数据计算BPM

我正在使用Kinect for Windows SDK来创建一个用于执行的应用程序(使用C#).

基本上我需要跟踪指挥的一只手(通常是右手)并识别他的指挥速度(BPM)以通过MIDI将该值发送到另一个应用程序.

我开始是SkeletonFramesReadyEvent添加JointType.HandRightDateTime.Now.Ticks时间戳历史List被更新和删除中的第一项.我保持60帧(2秒)的历史.

我通过搜索最后的低点和高点计算BPM Joint.Position.Y,然后计算差值和除法bpm = 60*ticksPerSecond/diff.但结果是错误的.还有另一种方法吗?我错过了什么?

这是我到目前为止使用的:

public int DetectBPM(JointType type)
{
    // we have not history yet
    if (!HasHistory()) return 0;

    // only calculate every second
    var detectTime = DateTime.Now.Second;
    if (_lastBPM != 0 && _lastBPMDectect == detectTime) return _lastBPM;

    // search last high/low boundaries
    var index = (int) type;
    var list = History[index];
    var i = list.Count - 1;

    var lastHigh = list[i]; …
Run Code Online (Sandbox Code Playgroud)

c# algorithm math datetime kinect

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

如何使用openCV c ++获取kinect视频图像和深度图像?

我是关于opencv(c ++)和kinect的新手.我尝试用kinect的c ++拍摄视频图像.我到处搜索,但我没有找到任何东西.因为人们使用openNI或OpenKinect.我不想使用这个lib.我该怎么做??

谢谢!!!

c++ opencv kinect

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

如何将kinect骨架数据映射到模型?

我已经设置了一个Kinect设备,并编写了一个简单的程序,使用OpenNI 2.0将流读取到QImage.我已经用Ni​​TE 2.0建立了骨架跟踪,所以我可以访问所有15个关节的坐标.我还使用SceniX设置了一个简单的场景.由骨架跟踪提供的手坐标用于绘制2个框以表示手.

我想将整个骨架绑定到(操纵)模型,似乎无法找到任何好的教程.任何人都知道我该怎么办?

skinning kinect openni

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

在WPF中自定义鼠标光标大小

我们正在开发一个应用程序,必须由可能有一些涉及使用kinect来移动光标的视觉问题的人使用,因此我们需要使它比平常更大.但是,此应用程序不直接与kinect接口,因此我们无法使用其API.

我们使用WPF在C#(.NET 4.5)中编程.问题是在高分辨率设备中默认光标大小不能大于32x32像素或64x64像素.

我们首先尝试使实际的鼠标光标不可见,然后使用Graphics对象,使用Graphics.FromHwnd(applicationWindowHandler).它成功绘制图像,但它留下了过去光标位置的踪迹.

有没有办法使用常规的Windows鼠标光标,或至少一种方法来删除跟踪(如强制当前窗口刷新的"无效"方法)?

我们已经尝试过这些解决方案,但没有运气:

www.hsys.com/CustomCursorArticlePart1.htm

www.hsys.com/CustomCursorArticlePart2.htm

csharparticles.blogspot.it/2005/03/custom-drawing-cursors.html

.net c# wpf mouse-cursor kinect

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

尽管初始大小固定,但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
查看次数