Не удается получить изображение из VideoCapture OpenCV с помощью Asus Xtion Pro Live

Я только что установил OpenCV 2.4.7 с OpenNI и датчик Primesense, как это видно из следующей информации о сборке.

У меня проблемы с захватом VideoCapture объект. Например, если я запускаю пример openni_capture, я получаю «Невозможно получить изображения». но я получаю информацию о глубине и RGB камерах, так что я думаю, что я получаю VideoCapture объект правильно открыт, но когда он пытается захватить изображение, функция захвата возвращает 0.

Я использую Asus Xtion Pro Live и OpenNI и Sensor работают должным образом, так как я могу запускать примеры, такие как NiViewer.

Буду признателен за помощь в решении этой проблемы.

Спасибо!

General configuration for OpenCV 2.4.7 =====================================
Version control:               unknown

Platform:
Host:                        Linux 3.5.0-47-generic x86_64
CMake:                       2.8.9
CMake generator:             Unix Makefiles
CMake build tool:            /usr/bin/make
Configuration:               Release

C/C++:
Built as dynamic libs?:      YES
C++ Compiler:                /usr/bin/c++  (ver 4.7.2)
C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -O3 -DNDEBUG  -DNDEBUG
C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG -ggdb3
C Compiler:                  /usr/bin/gcc
C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -O3 -DNDEBUG  -DNDEBUG
C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -g  -O0 -DDEBUG -D_DEBUG -ggdb3
Linker flags (Release):
Linker flags (Debug):
Precompiled headers:         YES

OpenCV modules:
To be built:                 core flann imgproc highgui features2d calib3d ml video legacy objdetect photo gpu ocl nonfree contrib java python stitching superres ts videostab
Disabled:                    world
Disabled by dependency:      -
Unavailable:                 androidcamera

GUI:
QT:                          NO
GTK+ 2.x:                    YES (ver 2.24.13)
GThread :                    YES (ver 2.34.1)
GtkGlExt:                    NO
OpenGL support:              NO

Media I/O:
ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.7)
JPEG:                        libjpeg (ver 62)
PNG:                         /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.49)
TIFF:                        /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 - 4.0.2)
JPEG 2000:                   /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
OpenEXR:                     build (ver 1.7.1)

Video I/O:
DC1394 1.x:                  NO
DC1394 2.x:                  YES (ver 2.2.0)
FFMPEG:                      YES
codec:                     YES (ver 53.35.0)
format:                    YES (ver 53.21.1)
util:                      YES (ver 51.22.2)
swscale:                   YES (ver 2.1.0)
gentoo-style:              YES
GStreamer:
base:                      YES (ver 0.10.36)
app:                       YES (ver 0.10.36)
video:                     YES (ver 0.10.36)
OpenNI:                      YES (ver 1.5.7, build 10)
OpenNI PrimeSensor Modules:  YES (/usr/lib/libXnCore.so)
PvAPI:                       NO
GigEVisionSDK:               NO
UniCap:                      NO
UniCap ucil:                 NO
V4L/V4L2:                    Using libv4l (ver 0.8.8)
XIMEA:                       NO
Xine:                        NO

Other third-party libraries:
Use IPP:                     NO
Use Eigen:                   YES (ver 3.0.93)
Use TBB:                     NO
Use OpenMP:                  NO
Use GCD                      NO
Use Concurrency              NO
Use C=:                      NO
Use Cuda:                    NO
Use OpenCL:                  YES

OpenCL:
Version:                     dynamic
Include path:                /home/xxx/imageproc/opencv-2.4.7/3rdparty/include/opencl/1.2
Use AMD FFT:                 NO
Use AMD BLAS:                NO

Python:
Interpreter:                 /usr/bin/python2 (ver 2.7.3)
Libraries:                   /usr/lib/libpython2.7.so (ver 2.7.3)
numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.6.2)
packages path:               lib/python2.7/dist-packages

Java:
ant:                         /usr/bin/ant (ver 1.8.2)
JNI:                         /usr/lib/jvm/java-6-openjdk/include /usr/lib/jvm/java-6-openjdk/include /usr/lib/jvm/java-6-openjdk/include
Java tests:                  YES

Documentation:
Build Documentation:         NO
Sphinx:                      NO
PdfLaTeX compiler:           /usr/bin/pdflatex

Tests and samples:
Tests:                       YES
Performance tests:           YES
C/C++ Examples:              YES

Install path:                  /usr/local

cvconfig.h is in:              /home/xxx/imageproc/opencv-2.4.7/release

Я создаю экземпляр видео-захвата и пытаюсь получить изображение следующим образом:

VideoCapture capture;

capture.open(CV_CAP_OPENNI);

if ( !capture.isOpened() )
{
cout << "Error opening capture" << endl;
return -1;
}if( !capture.grab() )
{
cout << "Can not grab image" << endl;
}

1

Решение

Исходя из вашего кода, я предполагаю, что будет использовать драйвер kinect openni, а не драйвер asus openni

Как насчет этого:

VideoCapture capture;

capture.open(CV_CAP_OPENNI_ASUS);

if ( !capture.isOpened() )
{
cout << "Error opening capture" << endl;
return -1;
}if( !capture.grab() )
{
cout << "Can not grab image" << endl;
}

В прошлом мне удавалось использовать два датчика asus xtion pro с opencv, вы можете увидеть мой тест код здесь.

Кроме того, это значения из заголовок типов highui, с комментариями:

CV_CAP_OPENNI   =900,   // OpenNI (for Kinect)
CV_CAP_OPENNI_ASUS =910,   // OpenNI (for Asus Xtion)
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]