您的位置:首页 > 运维架构

Opencv 3.0环境下编译SSD的问题以及解决方法。

2016-09-13 22:11 363 查看
由于SSD的作者是基于Opencv2.0的环境下写出的SSD源码,而Opencv2和Opencv3的源码又做了比较大的改变,导致编译时会出现像变量没声明的错误,因此需要对以下几个文件进行修改。

/caffe/src/caffe/layers/video_data_layer.cpp

//加上一个头文件
#include <opencv2/videoio.hpp>

//加上cv命名空间
using namespace cv;

//去掉CV_CAP_PROP_FRAME_COUNT,CV_CAP_PROP_POS_FRAMES前面的CV_


/caffe/src/caffe/util/bbox_util.cpp

//修改CV_RGB为cv::Scalar,但应该注意两者的区别,前者为RGB,后者为BGR

//修改CV_FILLED为cv::FILLED


/caffe/src/caffe/util/im_transforms.cpp

//加上以下两句
#define CV_BGR2HSV cv::COLOR_BGR2HSV
#define CV_BGR2Lab cv::COLOR_BGR2Lab


另外,如果出现以下问题

/usr/bin/ld: cannot find -lcudnn

collect2: error: ld returned 1 exit status

解决方法如下:

修改/usr/local/cuda/lib64/目录下和cudnn有关的三个文件的权限即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ssd 源码 opencv
相关文章推荐