美文网首页
2018-11-07关于opencv的二三事——opencv降版

2018-11-07关于opencv的二三事——opencv降版

作者: 银辉天使 | 来源:发表于2018-11-07 22:50 被阅读0次

    之前,图新在新配的工作站上安装了高版本的OpenCV3,后来因项目需求,发现和其他程序版本冲突了,需要将opencv降到2版本,即卸载OpenCV3,安装OpenCV2。。。
    本来想装个双版本opencv,但是发现网上大多教程都是先装低版本再装高版本的,或者先把低版本卸载了,然后再装高版本的。。。
    哎,没办法,自力更生吧。。。
    先把高版本卸了,装低版本试试吧。。。
    系统:ubuntu16.04 64位
    python:Anaconda3/python2.7
    ---------------------------------------------卸载高版本------------------------------------------
    先说些要用的指令,这些都是参照网上的(网址为:https://blog.csdn.net/qq_29229045/article/details/78527391):
    1.查询已装opencv版本
    $pkg-config --modversion opencv
    2.卸载已装opencv
    $cd /opencv_install_dir/build(release)/
    $sudo make uninstall
    $cd ..
    $rm -rf build(release)/
    $cd ..
    $rm -rf opencv

    3.卸载残留
    $ rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
    $ cd /usr
    $ find . -name "*opencv*" | xargs sudo rm -rf
    ---------------------------------------------安装低版本------------------------------------------
    参考博客:https://blog.csdn.net/u011557212/article/details/54706966?utm_source=itdadao&utm_medium=referral
    1.下载opencv2
    $wget https://github.com/Itseez/opencv/archive/2.4.13.zip
    2.打开文件夹"opencv-2.4.13":
    $cd opencv-2.4.*
    3.新建一个文件夹用于存放临时文件:
    $mkdir release
    4.切换到该临时文件夹:
    $cd release
    5.开始编译:
    $cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    $make -j4
    $sudo make install
    6添加到python编译环境下(将编译生成的cv2.so文件拷贝到你的python版本的调用库下,下面是我的环境设置,这个需要根据你的实际路径具体调整)
    $sudo cp /usr/local/lib/python2.7/dist-packages/cv2.so \
    ~/anaconda3/envs/py2-tf/lib/python2.7/siate-packages
    其他后续配置可参照博客。
    ---------------------------------------------我是分界线------------------------------------------
    报错:
    1. cuda错误:
    执行以下命令
    $cmake -D CMAKE_BUILD_TYPE=Release -D MAKE_INSTALL_PREFIX=/usr/local ..
    报错:CUDA_nppi_LIBRARY (ADVANCED)
    原因分析:
    根据博客(网址为https://blog.csdn.net/chenhuan20123/article/details/79574046)可知:
    cuda9不再支持2.0架构,同时该博客给出解决办法如下:

    解决办法:
    在编译的命令里面添加一条-D WITH_CUDA=OFF就行了。
    $cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=OFF -D BUILD_TESTS=OFF ..
    ---------------------------------------------我是分界线------------------------------------------
    2. 库连接错误:libpcre.so.1
    ```//home/clt/anaconda3/lib/libpcre-1.0.so: undefined reference to `gst_base_src_submit_buffer_list'

    解决办法:
    参考网上办法(具体网址不记得了,回来找到补上)
    $ sudo ln -s ~/anaconda3/lib/libpcre-1.0.so /usr/lib/x86_64-linux-gnu/libpcre-1.0.so

    ---------------------------------------------我是分界线------------------------------------------
    3.. 库连接错误:libgstapp-1.0.so.0
    //home/clt/anaconda3/lib/libgstapp-1.0.so.0: undefined reference to `gst_base_src_submit_buffer_list' //home/clt/anaconda3/lib/libgstapp-1.0.so.0: undefined reference to `gst_queue_array_peek_tail' //home/clt/anaconda3/lib/libgstapp-1.0.so.0: undefined reference to `gst_queue_array_pop_tail' collect2: error: ld returned 1 exit status modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/build.make:621: recipe for target 'bin/opencv_perf_imgproc' failed make[2]: *** [bin/opencv_perf_imgproc] Error 1 CMakeFiles/Makefile2:1393: recipe for target 'modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all' failed make[1]: *** [modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2

    原因分析:
    可能是anaconda3的lib库内的库文件版本可opencv2版本不匹配。

    解决办法:

    1. 移除高版本的libgstapp库
      $sudo rm -rf ~/anaconda3/lib/libgstapp-1.0.so.0
    2. 将ubuntu自带的低版本库建立软连接
      $sudo ln -s /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so.0 ~/anaconda3/lib/libgstapp-1.0.so.0
      3.激活软连接
      $sudo ldconfig
      4.清除make之前错误生成的文件
      $make clean
      5.重新生成make文件
      $make -j8
      ---------------------------------------------我是分界线------------------------------------------
      上述全为本人实际操作,犯错总结,希望对你有用。
      尊重原创,如需转载,请注明链接出处,谢谢。
      最后,希望大家有问题留言讨论,共同学习,共同进步。

    相关文章

      网友评论

          本文标题:2018-11-07关于opencv的二三事——opencv降版

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