使用CAFFE的Opencv 3.1

时间:2017-06-08 11:09:36

标签: opencv caffe

我正试图从caffe内部使用OPENCV 3.1。这是我的测试代码

#include <caffe/caffe.hpp>
#ifdef USE_OPENCV
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/utility.hpp>
#include <opencv2/tracking.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>
#endif  // USE_OPENCV
#include<iostream>

#ifdef USE_OPENCV

int main(){
    std::cout<<"USE_OPENCV value is 1\n";
    return 0;
}
#else
int main(){
    std::cout<<"USE_OPENCV value is 0\n";
    return 0;
}
#endif

我正在使用以下命令编译它

 g++ -I path_to_caffe/distribute/include/  test3.cpp -std=c++0x  -lboost_system

它在执行时编译并提供以下输出:

  

USE_OPENCV值为0

在编译caffe之前,我在Makefile.config文件中进行了这项更改:

USE_OPENCV := 1
. . .
OPENCV_VERSION := 3
. . .
USE_PKG_CONFIG := 1

在编译caffe时,我首先清理它,然后使用以下命令编译它:

make clean
make all -j $(($(nproc) + 1))
make test
make runtest
make pycaffe 
make distribute

它编译时没有给出错误,但在测试我的测试文件时,它没有给出我期望的输出。

1 个答案:

答案 0 :(得分:0)

所有的荣耀归于Shai。解决方案是添加-DUSE_OPENCV标志。

g++ -I path_to_caffe/distribute/include/ test3.cpp -std=c++0x -lboost_system -DUSE_OPENCV