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
。也许这对你有帮助。