Comment puis-je référencer une installation OpenCV autonome malgré une autre version d'Opencv dans ROS

StackOverflow https://stackoverflow.com//questions/21012421

Question

J'ai ROS dans le système et il est livré avec opencv2.4.2.J'ai également installé opencv depuis sourceforge.net qui est opencv2.4.8 suivant le blog samontab.

Maintenant, j'ai un code source qui, lorsqu'il est exécuté, sélectionne automatiquement l'opencv2.4.2.Je veux que le programme s'exécute en utilisant opencv2.4.8.

J'ai essayé d'ajouter ceci à CMakeLists.txt

include_directories("/home/sai/workspace/opencv-2.4.8/include/opencv") 
   link_directories("/home/sai/workspace/opencv-2.4.8/lib") 
   set(OpenCV_LIBS 
"opencv_gpu;opencv_contrib;opencv_legacy;opencv_objdetect;opencv_calib3d;opencv_features2d;opencv_video;opencv_highgui;opencv_ml;opencv_imgproc;opencv_flann;opencv_core") 

find_package(OpenCV 2.4.8 REQUIRED) 

target_link_libraries(exec {OpeCV_LIBS})

Mais il utilise quand même Opencv fourni avec ROS et donne également une erreur comme celle-ci

             from /home/sai/workspace/loop_detector_on_depth_images/depth_loops/generic/src/dbow/FBit.h:5,
             from /home/sai/workspace/loop_detector_on_depth_images/depth_loops/generic/src/dbow/FBit.cpp:1:

/opt/ros/fuerte/include/opencv2/flann/lsh_table.h :Dans la fonction membre 'void cvflann::lsh::LshTable::add(cvflann::Matrix)' :/opt/ros/fuerte/include/opencv2/flann/lsh_table.h:196:14 :erreur:'use_speed_' n'a pas été déclaré dans cette portée

et

pkg-config --cflags opencv dit

-I/opt/ros/fuerte/include/opencv -I/opt/ros/fuerte/include

Était-ce utile?

La solution

Enfin c'est résolu.

Du lien http://answers.ros.org/question/61923/how-to-use-newer-versions-of-opencv-in-fuerte/

J'ai triché et je suis allé sur /opt/ros/fuerte/include et j'ai changé le nom d'opencv2 en opencv2bak.De cette façon, il trouve les bonnes inclusions.Je ne pense cependant pas que ce soit la bonne façon de procéder.

Je suis également allé dans /opt/ros/fuerte/share/OpenCV/OpenCVConfig.cmake et j'ai modifié la variable du chemin d'installation en /usr/local (où j'ai installé)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top