kinect使用手冊

1、安裝KinectSDK-v1.0-beta2-x64.msi,這個是64位機子的。可以視自己的機子情況而定。

2、編譯sample中的SkeletalViewer項目(我編譯的是c++,如果你比較熟悉c#可以編譯c#版本的):

A:環境配置==在引用文件中添加安裝SDK時的安裝目錄中的inc,在庫文件中添加SDK的lib/amd64,然後在鏈接器->輸入->附加依賴項中添加MSRKinectNUI.lib。直接編譯運行就可以了,但是我的在編譯的時候出現

1>NuiImpl.obj : error LNK2019: 無法解析的外部符號 __imp__MSR_NuiCreateInstanceByName,該符號在函數 "public: long __thiscall CSkeletalViewerApp::Nui_Init(wchar_t *)" (?Nui_Init@CSkeletalViewerApp@@QAEJPA_W@Z) 中被引用
1>NuiImpl.obj : error LNK2019: 無法解析的外部符號 __imp__MSR_NuiCreateInstanceByIndex,該符號在函數 "public: long __thiscall CSkeletalViewerApp::Nui_Init(int)" (?Nui_Init@CSkeletalViewerApp@@QAEJH@Z) 中被引用
1>SkeletalViewer.obj : error LNK2019: 無法解析的外部符號 __imp__MSR_NuiSetDeviceStatusCallback,該符號在函數 _wWinMain@16 中被引用
1>SkeletalViewer.obj : error LNK2019: 無法解析的外部符號 __imp__MSR_NUIGetDeviceCount,該符號在函數 "private: void __thiscall CSkeletalViewerApp::UpdateComboBox(void)" (?UpdateComboBox@CSkeletalViewerApp@@AAEXXZ) 中被引用


後來調試了一下發現要用lib/x86的MSRKinectNUI.lib纔可以,具體原因不是很清楚。編譯通過……


B:運行==出現錯誤如下,經過查找資料,原因是我的機子沒有獨立顯卡(淚奔)。

解決辦法,找到DrawDevice.cpp中的代碼

    hr = m_pD3D->CreateDevice(
        D3DADAPTER_DEFAULT,
        D3DDEVTYPE_HAL,
        hwnd,
        D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_FPU_PRESERVE,
        &pp,
        &m_pDevice
        );

將其中的D3DCREATE_HARDWARE_VERTEXPROCESSING改爲D3DCREATE_SOFTWARE_VERTEXPROCESSING就可以成功運行了



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章