我想設置一個簡單的程序來使用OpenKinect連接Kinect,並以某種方式測試通信到我的筆記本電腦。我可以運行的演示很好,但我想通過代碼來測試它,以確保我知道發生了什麼事情。到目前爲止,我仍然無法連接它。該代碼的現在 -OpenKinect - FreenectDevice摘要?
#include "/usr/local/include/libfreenect.hpp"
#include <iostream>
using namespace std;
Freenect::FreenectDevice::FreenectDevice* device;
int main(int argc, char** argv) {
Freenect::Freenect k;
device = &k.createDevice<Freenect::FreenectDevice>(0); //line 8
cout<<"\ndeviceCount:"<<k.deviceCount();
return 0;
}
當我編譯,它告訴我
In member function ‘ConcreteDevice& Freenect::Freenect::createDevice(int) [with ConcreteDevice = Freenect::FreenectDevice]’:
test_kinect.cpp:8: instantiated from here
libfreenect.hpp:196: error: cannot allocate an object of abstract type ‘Freenect::FreenectDevice’
所以FreenectDevice是一個抽象類...好,我應該如何創建一個設備呢?我希望編寫自己的類,只要我想使用OpenKinect,就繼承這個類。我很困惑如何真正使用這個庫提供的代碼。我一直在尋找某種基本的教程,但一無所獲。如果有人知道一個好的教程,那現在對我來說是最好的。任何幫助表示讚賞,謝謝。