美文网首页
Linux无root无sudo权限安装opencv3.4.1

Linux无root无sudo权限安装opencv3.4.1

作者: F1NEEN | 来源:发表于2019-07-15 02:04 被阅读0次
    • 因为导师分配的平台账号只有普通用户权限,所以只能自己下载安装一些软件,以opencv为例。
    • 首先linux系统已经安装好cmake-3.14.5

    下载opencv3.4.1压缩包和opencv_contrib3.4.1

    执行命令:

    • tar -xzvf *.tar.gz
    • cd opencvXXXX
    • mkdir build && cd build
    • cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D BUILD_EXAMPLES=ON -D BUILD_DOCS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_TESTS=OFF -D WITH_OPENGL=ON -D WITH_EIGEN=ON -D WITH_CUDA=ON -D WITH_CUBLAS=ON -D CUDA_NVCC_FLAGS="-std=c++11 --expt-relaxed-constexpr" -D WITH_NVCUVID=ON -D BUILD_opencv_cudacodec=OFF -D OPENCV_EXTRA_MODULES_PATH=/home/xxx/xxx/opencv-3.4.1/opencv_contrib/modules -D CMAKE_INSTALL_PREFIX=/usr/local/ ..(视个人情况)

    遇到问题:

    • 一开始没有加上 -D WITH_NVCUVID=ON -D BUILD_opencv_cudacodec=OFF(error:Cuda 10.0 fatal error: dynlink_nvcuvid.h: No such file or directory)

    原因:

    • cuda10以上没有dynlink_nvcuvid.h和nvcuvid.h,所以要将BUILD_opencv_cudacodec=OFF

    执行命令:

    • make -j4
    • 既然IO不是瓶颈,那CPU就应该是一个影响编译速度的重要因素。
    • 用make -j带一个参数(2,4,8,16...),可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。
    • 在多核CPU上,适当的进行并行编译还是可以明显提高编译速度的。但并行的任务不宜太多,一般是以CPU的核心数目的两倍为宜。
    • 但如果项目的Makefile不规范,没有正确的设置好依赖关系,并行编译的结果就是编译不能正常进行。如果依赖关系设置过于保守,则可能本身编译的可并行度就下降了,也不能取得最佳的效果。
    • 可以去了解一下超线程技术。

    执行命令:

    • make install

    添加环境变量:

    • vim ~/.bashrc
    • 将下面内容添加到文件后面:
    • PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/home/xxx/xxx" export
    • PKG_CONFIG_PATH export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/xxx/xxx/"

    遇到问题:

    • Package opencv was not found in the pkg-config search path.Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable.No package 'opencv' found

    解决:

    • 找到opencv.pc所在路径
    • source ~/.bashrc

    最后测试:

    • pkg-config --modversion opencv
    • 显示opencv版本号则成功

    相关文章

      网友评论

          本文标题:Linux无root无sudo权限安装opencv3.4.1

          本文链接:https://www.haomeiwen.com/subject/qyowkctx.html