opencv2.4.13+ros kinetic +ubuntu16.04+iai_kinect2

来源:互联网 发布:dirt rally mac 编辑:程序博客网 时间:2024/05/21 17:42

1、安装ros下kinect2驱动库链接
2、修改ros版本/opt/ros/kinetic/share/cv_bridge/cmake/cv_bridgeConfig.cmake参考
附录修改内容:
第一部分:

if(NOT "include;/usr/local/include/opencv;/usr/local/include/opencv2" STREQUAL " ")
set(cv_bridge_INCLUDE_DIRS "")
set(_include_dirs "/usr/local/include/opencv2;/usr/local/include/opencv;/usr/include;/usr/local/include")

第二部分:
set(libraries "cv_bridge;/usr/local/lib/libopencv_stitching.so.2.4.13;/usr/local/lib/libopencv_objdetect.so.2.4.13;/usr/local/lib/libopencv_features2d.so.2.4.13;/usr/local/lib/libopencv_core.so.2.4.13;/usr/local/lib/libopencv_ocl.so.2.4.13;/usr/local/lib/libopencv_photo.so.2.4.13;/usr/local/lib/libopencv_flann.so.2.4.13;/usr/local/lib/libopencv_gpu.so.2.4.13;/usr/local/lib/libopencv_superres.so.2.4.13;/usr/local/lib/libopencv_highgui.so.2.4.13;/usr/local/lib/libopencv_video.so.2.4.13;/usr/local/lib/libopencv_imgproc.so.2.4.13;/usr/local/lib/libopencv_contrib.so.2.4.13;/usr/local/lib/libopencv_videostab.so.2.4.13;/usr/local/lib/libopencv_legacy.so.2.4.13;/usr/local/lib/libopencv_ml.so.2.4.13;/usr/local/lib/libopencv_calib3d.so.2.4.13;/usr/local/lib/libopencv_nonfree.so.2.4.13")

3、问题
执行完上述步骤后编译通过,启动包里边的.launch文件无法运行,错误信息是提示:
...
[ INFO] [1496849131.398779983]: [DepthRegistration::New] Using OpenCL registration method!
OpenCV Error: The function/feature is not implemented (Unknown/unsupported array type) in getMat_, file /tmp/binarydeb/ros-kinetic-opencv3-3.2.0/modules/core/src/matrix.cpp, line 1289
[ERROR] [1496849131.398918855]: [Kinect2Bridge::stop] kinect2_bridge is not running!
...

个人分析可能原因,ROS-kinetic自带opencv3.2导致自身运行的时候查找了安装的文件。
了解系统情况:
1、rospack profile 显示出安装的opencv3.2的包

2、sudo apt-get --purge remove ros-kinetic-opencv3卸载deb安装的opencv3包

未完待续

原创粉丝点击