配置参考
1、下载opencv过程总是中断,先是下载的opencv3.1.0,最后下载的是opencv4.3.0(后面要该好多错误)
多下载几遍。
2、opencv3.1.0编译opencv那一步会出错,主要是因为cmake版本的问题与opencv3.1.0不适用。
下载opencv4.3.0就可以,你也可以调cmake版本,但是很麻烦,cmake不能用pip指定版本安装。
3、当然,opencv4.3.0新版本肯定后面会出错,因为caffe的makefile文件没有根据最新版的去该。
编译caffe:
(1)src/caffe/data_transformer.cpp:2:10: fatal error: opencv2/core/core.hpp
: 没有那个文件或目录 #include <opencv2/core/core.hpp>
^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. Makefile:591: recipe for target '.build_release/src/caffe/data_transfor
这个错误我发现是因为找不到 <opencv2/core/core.hpp>
这个头文件,在/usr/local/include
文件夹发现是opencv4
,在它子文件夹是opencv2
,把opencv2
复制出来和opencv4
同一个文件夹就可以解决。
原因是这一步:(改的路径是/usr/local/include
,无法找到它的子文件夹opencv2
)
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 改为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
(2)src/caffe/util/io.cpp:77:5: error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
opencv
版本问题,opencv4
新改了部分内容的编写。
找到报错前的文件,如:
/home/user/caffe/src/caffe/util/io.cpp:76:34: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
就编辑/home/user/caffe/src/caffe/util/io.cpp
这个文件,
将CV_LOAD_IMAGE_COLOR 改成 cv::IMREAD_COLOR
将CV_LOAD_IMAGE_GRAYSCALE 改成 cv::IMREAD_GRAYSCALE
参考:添加链接描述
4、测试问题,runtest步骤。
报错:.build_release/tools/caffe: error while loading shared libraries: libopencv_
先去在/usr/local/lib
目录下查看,找到了libopencv_core.so.4.3
然后,
1、cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
2、sudo echo "/usr/local/lib" >> sudo /etc/ld.so.conf
3、sudo ldconfig
4、sudo make runtest
参考:添加链接描述