centos安装opencv全过程

前端之家收集整理的这篇文章主要介绍了centos安装opencv全过程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

安装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@H_404_6@

2、下载文件包@H_404_6@

http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download@H_404_6@
@H_404_6@

3、安装@H_404_6@@H_404_6@

unzip opencv-2.4.9.zip@H_404_6@

cd opencv-2.4.9

cmake CMakeLists.txt

make

make install@H_404_6@

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

找到下面一段

[html] view plain copy@H_404_6@
@H_404_6@
  1. if(NOTDEFINED__cuda_arch_bin)@H_404_6@@H_404_6@
  2. if(ANDROID)@H_404_6@
  3. set(__cuda_arch_bin"3.2")@H_404_6@
  4. set(__cuda_arch_ptx"")@H_404_6@
  5. else()@H_404_6@
  6. if(${CUDA_VERSION}VERSION_LESS"5.0")@H_404_6@
  7. set(__cuda_arch_bin"1.11.21.32.02.1(2.0)3.0")@H_404_6@
  8. else()@H_404_6@
  9. set(__cuda_arch_bin"1.11.21.32.02.13.03.5")@H_404_6@
  10. endif()@H_404_6@
  11. set(__cuda_arch_ptx"3.0")@H_404_6@
  12. endif()@H_404_6@

把第二个1.1 1.2 1.3 2.0 2.1 去掉,修改为@H_404_6@

copy@H_404_6@
@H_404_6@
    set(__cuda_arch_bin"5.2 6.1")@H_404_6@
  1. endif()@H_404_6@

或者直接修改为使用于本机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 ):@H_404_6@

参考连接:http://www.yanjiankang.cn/Linux-install-OpenCV-on-Ubuntu-or-Redhat/@H_404_6@


@H_404_6@

3、cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared@H_404_6@

解决办法:

解决方案:需要修改一处源码:
在graphcuts.@H_404_6@cpp中将
#if@H_404_6@ !defined@H_404_6@ (HAVE_CUDA) || defined@H_404_6@ (CUDA_DISABLER)
改为
#if@H_404_6@ !defined@H_404_6@ (HAVE_CUDA) || defined@H_404_6@ (CUDA_DISABLER) || (CUDART_VERSION >= 8000@H_404_6@)
参考连接:http://blog.csdn.net/allyli0022/article/details/62859290


4、测试的时候出现问题

解决办法:将出错的cpp中的show等在centos下无法执行的代码注释掉,然后重新make && make install,在编译测试脚本

猜你在找的CentOS相关文章