当物体垂直而不是水平时,是否可以使用 kinect 跟踪身体

本文关键字:可以使 是否 跟踪 kinect 水平 垂直 | 更新日期: 2023-09-27 18:34:49

我想知道是否有办法将从 kinect 获得的图像旋转 90 度,以便我可以垂直悬挂 kinect,并且像这样仍然跟踪身体?

因为当你现在垂直悬挂它时,它不会跟踪任何东西,我想这是正常的,因为它只被编程为在垂直时寻找尸体,但是有没有办法解决这个问题?

试图找到一种旋转可写位图的方法,就像我在网上找到一些例子一样,但没有任何运气。我认为如果我应该做任何事情,我应该在代码的这一部分做:

private void Reader_ColorFrameArrived(Object sender, ColorFrameArrivedEventArgs e( {

        // ColorFrame is IDisposable
        using (ColorFrame colorFrame = e.FrameReference.AcquireFrame())
        {
            if (colorFrame != null)
            {
                FrameDescription colorFrameDescription = colorFrame.FrameDescription;
                using (KinectBuffer colorBuffer = colorFrame.LockRawImageBuffer())
                {
                    this.colorBitmap.Lock();
                    // verify data and write the new color frame data to the display bitmap
                    if ((colorFrameDescription.Width == this.colorBitmap.PixelWidth) && (colorFrameDescription.Height == this.colorBitmap.PixelHeight))
                    {
                        colorFrame.CopyConvertedFrameDataToIntPtr(
                            this.colorBitmap.BackBuffer,
                            (uint)(colorFrameDescription.Width * colorFrameDescription.Height * 4),
                            ColorImageFormat.Bgra);
                        this.colorBitmap.AddDirtyRect(new Int32Rect(0, 0, this.colorBitmap.PixelWidth, this.colorBitmap.PixelHeight));
                    }

                    this.colorBitmap.Unlock();
                }
            }
        }
    }

但是我不知道该怎么做才能使轮换发生。

谢谢!

当物体垂直而不是水平时,是否可以使用 kinect 跟踪身体

处理彩色图像对您没有帮助,因为身体跟踪算法仅基于深度数据。

此外,如果您需要使用Microsoft Kinect SDK,则无法"更改"算法和传递给它的数据。事实上,在将深度图像传递给身体追踪器之前,您需要旋转深度图像,而使用此SDK根本无法做到这一点。

我不确定这是否可以使用其他框架来完成。但是,您可以做的是在设备使用的镜头前面放置一些镜头,以旋转图像。或者您可以拆解设备并尝试将镜头旋转 90 度......这取决于你。

希望这有帮助。

相关文章: