OpenCV linemod不是cv成员
我试图安装一个OpenCV linemod不是cv成员,opencv,compiler-errors,ros,Opencv,Compiler Errors,Ros,我试图安装一个rosindigo包来检测棋盘和相对位置,我在ubuntu14.04上安装了opencv-3.0.0-rc1。当我尝试catkin\u makepackage时,我收到构建错误,退出了很多次,完整的报告是,但它开始时是这样的: [ 73%] Building CXX object vision/jsk_recognition-master/jsk_perception/CMakeFiles/roi_to_mask_image.dir/roi_to_mask_image.cpp.
rosindigo
包来检测棋盘和相对位置,我在ubuntu14.04
上安装了opencv-3.0.0-rc1
。当我尝试catkin\u make
package时,我收到构建错误,退出了很多次,完整的报告是,但它开始时是这样的:
[ 73%] Building CXX object
vision/jsk_recognition-master/jsk_perception/CMakeFiles/roi_to_mask_image.dir/roi_to_mask_image.cpp.o
/home/elod/catkin_ws/src/vision/jsk_recognition-master/jsk_perception/src/linemod.cpp:69:57:
error: ‘linemod’ is not a member of ‘cv’ std::vector<CvPoint>
maskFromTemplate(const std::vector<cv::linemod::Template>& templates,
^ /home/elod/catkin_ws/src/vision/jsk_recognition-master/jsk_perception/src/linemod.cpp:69:57:
error: ‘linemod’ is not a member of ‘cv’
/home/elod/catkin_ws/src/vision/jsk_recognition-master/jsk_perception/src/linemod.cpp:69:78:
error: template argument 1 is invalid std::vector<CvPoint>
maskFromTemplate(const std::vector<cv::linemod::Template>& templates,
^
/home/elod/catkin_ws/src/vision/jsk_recognition-master/jsk_perception/src/linemod.cpp:69:78:
error: template argument 2 is invalid
/home/elod/catkin_ws/src/vision/jsk_recognition-master/jsk_perception/src/linemod.cpp:69:57:
error: ‘linemod’ is not a member of ‘cv’ std::vector<CvPoint>
maskFromTemplate(const std::vector<cv::linemod::Template>& templates,
此模块是否缺少我的OpenCV安装,或者为什么在cv命名空间中找不到它
在我以前的opencv2.4.11
(已卸载)中,我将包含此模块,但我已将所有内容迁移到3.0.0
有什么办法解决吗
更新
一个非常重要的观察结果是,上面提到的pkg是针对Opencv2.4的,我使用的是3.0!从新版本中移动或删除了一些内容,如cvSnakeImage
,它也出现在这个pkg中
另一个问题是:如何替换
cvSnakeImage
或替换什么?您是从头开始构建的(干净构建目录)
您可以尝试将cv::namespace添加到*.hpp中
-<linemod::Match>
+<cv::linemod::Match>
-
+
和/或尝试将“
#include
”添加到同一文件中。您是从头开始构建的(干净的构建目录)
您可以尝试将cv::namespace添加到*.hpp中
-<linemod::Match>
+<cv::linemod::Match>
-
+
和/或尝试将“
#include
”添加到同一个文件中。我最近在cv::line
和cv::circle
上遇到了类似的问题。也许在3.0中有些函数已经转移到了子模块中?(尽管我在文档中没有找到任何相关信息)在Opnecv3.0.0中,cv::line
是c++
语法,因此您需要包含*.hpp
(参见imgproc.*)标题,或者您可以使用cvLine
,这是c
语法与*.h
。也许这会对你有所帮助。我最近在cv::line
和cv::circle
上遇到了类似的问题。也许在3.0中有些函数已经转移到了子模块中?(尽管我在文档中没有找到任何相关信息)在Opnecv3.0.0中,cv::line
是c++
语法,因此您需要包含*.hpp
(参见imgproc.*)标题,或者您可以使用cvLine
,这是c
语法与*.h
。也许这对你有帮助。