Отображать видеокадр RGB с помощью камеры opencv и kinect primesense?
У меня есть проект OpenCV, написанный на OpenCV 2.4.6 (без OpenNI) в Visual Studio 2012.
В проекте используется встроенная веб-камера, но теперь я хочу использовать камеру Kinect для RGB-кадров вместо веб-камеры.
- Можно ли использовать камеру Kinect Prime Sense без использования OpenNI?
- Нужно ли устанавливать OpenNI и связывать его с OpenCV и всем остальным, чтобы использовать RGB-камеру с устройства Prime sense?
В настоящее время я пишу следующий код:
VideoCapture capture(CV_CAP_OPENNI); // I have tried with capture(0), capture(1)
if(!(capture.isOpened())){
cout << "OPENCV:Cannot open the WebCamera" << endl;
return -1;
}
И в результате он не может открыть захват, и он терпит неудачу здесь. Я новичок во всем этом и, пожалуйста, объясните, если мне нужно что-то установить или включить что-нибудь? Я уже установил драйверы Prime sense. Благодарю.
2 ответа
Вы можете прочитать данные с датчика Kinect, используя любой из этих 3 методов,
- Microsoft Kinect для Windows SDK
- Libfreenect API OpenKinect
- OpenNI + OpenKinect
Для дальнейшего ознакомления я бы хотел направить вас к этой теме: Как получить видеоизображение kinect и изображение глубины с помощью openCV C++?
НТН
НЕТ (если вы пытаетесь
VideoCapture capture(CV_CAP_OPENNI);
это просто зависит от этого. есть libfreenect или что-то подобное, но это уже другая история..)ДА (вот почему это не удалось, вероятно) .
также проверьте: cout << cv::getBuildInformation();
чтобы увидеть, были ли ваши opencv библиотеки собраны с поддержкой openni:
Video I/O:
...
OpenNI: NO
OpenNI PrimeSensor Modules: NO
вам придется пересобрать opencv из src(с установленным openni sdk), если там ответ "нет"