安装opencv无数次,每次都还有新发现,今天记下来吧。
1、安装依赖
yum install cmake gcc gcc-c++ gtk2-devel gimp-develgimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devellibpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-develjasper-devel jasper-utils swig python libtool nasm
2、下载文件包
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download
3、安装
unzip opencv-2.4.9.zip
cd opencv-2.4.9
cmake CMakeLists.txt
make
make install
4、配置环境变量
vim ~/.bashrc
export OpenCV_DIR=$OpenCV_DIR:/root/opencv-2.4.9/include/opencv
export LD_LIBRARY_PATH="/root/opencv-2.4.9/3rdparty/lib:$LD_LIBRARY_PATH"
source ~/.bashrc
5、测试
cd samples
cd c
./build_all.sh
6、安装结束
会出现的问题:
1、nvcc fatal : Unsupported gpu architecture 'compute_11'
解决办法:
打开 sources\cmake 目录,使用文本编辑器编辑OpenCVDetectCUDA.cmake
找到下面一段
或者直接修改为使用于本机GTX1080 显卡的 6.1
重新make && make install
参考连接:http://blog.csdn.net/wishchin/article/details/64128067
2、 errors detected in the compilation of "/tmp/tmpxft_0001b798_00000000-11_NCVPyramid.compute_30.cpp
解决办法:
将其中template声明中的所有static全部删除。可以使用vim的全局替换,或者其他编辑工具全局替换即可(template<> static inline 替换为template<> inline ):
参考连接:http://www.yanjiankang.cn/Linux-install-OpenCV-on-Ubuntu-or-Redhat/
3、cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared
解决办法:
解决方案:需要修改一处源码:
在graphcuts.cpp中将
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
参考连接:http://blog.csdn.net/allyli0022/article/details/62859290
4、测试的时候出现问题
解决办法:将出错的cpp中的show等在centos下无法执行的代码注释掉,然后重新make && make install,在编译测试脚本