c++ - 使用 Kinect c++ 去除背景

标签 c++ sdk kinect

我目前正在尝试计算使用 Kinect For Windows SDK 和 C++ 来移除背景,只从场景中提取玩家。为此,我正在使用开发人员工具包中提供的示例,但我目前遇到了一个问题。

在分析样本时,我发现了这行代码:NuiCreateBackgroundRemovedColorStream(_sensor, &m_pBackgroundRemovalStream);

这行代码启动背景去除,属于KinectBackgroundRemoval.h。当尝试使用这行代码时,Visual Studio 不会在错误下划线,但只要我按下运行,它就会说我的代码有问题:

Error   25  error LNK2019: unresolved external symbol __imp__NuiCreateBackgroundRemovedColorStream@8 referenced in function "public: __thiscall Kinect::Kinect(void)" (??0Kinect@@QAE@XZ)   C:\Users\Ricardo\documents\visual studio 2013\Projects\OpenCVSample\OpenCVSample\Kinect.obj OpenCVSample

我的代码如下:

NuiCreateSensorByIndex(0, &_sensor);
    _sensor->NuiInitializationFlags();
    _sensor->NuiInitialize(NUI_INITIALIZE_FLAG_USES_DEPTH_AND_PLAYER_INDEX | NUI_INITIALIZE_FLAG_USES_COLOR);
    _sensor->NuiImageStreamOpen(NUI_IMAGE_TYPE_DEPTH_AND_PLAYER_INDEX, DEPTH_RESOLUTION, 0, 2, _depthEvent, &_depthStreamHandle);
    _sensor->NuiImageStreamOpen(NUI_IMAGE_TYPE_COLOR, RGB_RESOLUTION, 0, 2, _rgbEvent, &_rgbStreamHandle);
    _sensor->NuiSkeletonTrackingEnable(_skeletonEvent, NUI_SKELETON_TRACKING_FLAG_ENABLE_IN_NEAR_RANGE);

    NuiCreateBackgroundRemovedColorStream(_sensor, &m_pBackgroundRemovalStream);
    m_pBackgroundRemovalStream->Enable(RGB_RESOLUTION, DEPTH_RESOLUTION, _backgroundRemoveEvent);

请注意,我已经配置了包含文件,并且没有在任何错误下划线。我不太习惯 C++,所以这可能是一个非常简单的错误。

非常感谢!

最佳答案

您只是忘记将 kinect sdk 库添加到链接器。正如 MSDN 所述 here ,您需要链接到 KinectBackgroundRemoval180_32.libKinectBackgroundRemoval180_64.lib。如果使用 Visual Studio,您可以将这些行添加到您的代码(任何地方):

#if _WIN64
#pragma comment(lib, "KinectBackgroundRemoval180_64.lib")
#elif _WIN32
#pragma comment(lib, "KinectBackgroundRemoval180_32.lib")
#endif

关于c++ - 使用 Kinect c++ 去除背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23131389/

相关文章:

c++ - 将字符串的 c 数组复制到 std::string 的 vector 中

php - 什么是 Real Quickbooks Online API?

c# - 如何使用 C++ DLL 中的 C# 代码

amazon-web-services - 使用AWS Go SDK创建客户端时出现UnrecognizedClientException

c# - 微软信息保护 SDK : using username/password to login

linux - Linux 上的 OpenNI 示例

android - 如何从 adb shell 获取连接到 Android 设备的设备列表

c# - 使用 Kinect SDK 创建完整的 3d 骨架

c++ - OpenMP 和部分

c++ - const 限定符 函数结束