我正试图从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
它编译时没有给出错误,但在测试我的测试文件时,它没有给出我期望的输出。
答案 0 :(得分:0)
所有的荣耀归于Shai。解决方案是添加-DUSE_OPENCV标志。
g++ -I path_to_caffe/distribute/include/ test3.cpp -std=c++0x -lboost_system -DUSE_OPENCV