ubutu16.04卸载opencv2安装opencv3

    技术2022-07-10  106

    最近在安装caffe,然后caffe安装失败,最后定位到可能出现的错误原因就是opencv版本。虽然不知道什么时间安装了opencv2,现在发现重新安装opencv3并不是那么的容易,也是花了几个小时才安装好了,这里记录以下填坑的step。

    系统版本:

    ubutu 16.04anoconda 4.3.30python 3.6opencv 3.2.0caffe 1.0.0

    0. 前言

    这里我们安装opencv3是为了后面安装caffe服务的。由于caffe是属于比较老的框架,然后对python 2.7支持比较好,或者python3.5以下也是可以的,但是由于我们的python是3.6,以及tensorflow == 1.6,因此我们尝试在python 3.6的情况下,安装caffe CPU版本。

    1. 卸载老版本的opencv2

    由于不知道什么时间,处于什么目的安装了opencv2,于是乎我们先卸载低版本的opencv2,但是卸载并不是那么简单的。

    首先我们使用命令pkg-config opencv --modversion查看当前opencv版本号,发现是2.×.×,具体的版本也不太记得了,只记得是首数字是2,所以我们先卸载老版本的。这里卸载参考了几篇文章:

    :ubuntu下彻底卸载opencv的方法:卸载opencv3: linux下查看opencv安装路径以及版本号

    当时卸载这个的时候,删了好多次都没有删掉干净,输入命令

    pkg-config opencv --libs pkg-config opencv --modversion

    还是会出现opencv相关的信息,然后我们抱着死马当活马医的态度,使用了如下命令:

    step1,输入命令:

    sudo apt-get autoremove opencv-doc opencv-data libopencv-dev libopencv2.4-java libopencv2.4-jni python-opencv libopencv-core2.4 libopencv-gpu2.4 libopencv-ts2.4 libopencv-photo2.4 libopencv-contrib2.4 libopencv-imgproc2.4 libopencv-superres2.4 libopencv-stitching2.4 libopencv-ocl2.4 libopencv-legacy2.4 libopencv-ml2.4 libopencv-video2.4 libopencv-videostab2.4 libopencv-objdetect2.4 libopencv-calib3d2.4

    step2,输入命令(可能某些文件没有,但是没有太大关系):

    sudo rm -rf /usr/local/include/opencv2 sudo rm -rf /usr/local/include/opencv sudo rm -rf /usr/include/opencv sudo rm -rf /usr/include/opencv2 sudo rm -rf /usr/local/share/opencv sudo rm -rf /usr/local/share/OpenCV sudo rm -rf /usr/share/opencv sudo rm -rf /usr/share/OpenCV sudo rm -rf /usr/local/bin/opencv* sudo rm -rf /usr/local/lib/libopencv*

    step3, 输入命令:

    pkg-config opencv --libs pkg-config opencv --modversion

    这个时候发现没有再出现和opencv相关的字眼了,就证明我们卸载老版本成功了,上面的暴力卸载仅仅作为参考!!如果您实在是没有什么法子,或者不担心东西不见了,可以试试~~或者您有更好的办法,也可以评论,互相学习。

    2. 安装新版本的opencv3

    参考文章:

    :ubuntu16.04安装opencv3.4.1教程:Ubuntu16.04 上openCV的卸载与 opencv3.0.2安装记录

    1.去官网下载opencv,在本教程中选用的是opencv3.2.0,其他版本的配置方法异曲同工。 下载链接https://github.com/opencv/opencv/releases/tag/3.2.0,选择sources code(zip)版本。

    2.解压下载下来的zip包,并拷贝以及重命名。

    unzip opencv-3.2.0.zip sudo cp ./opencv-3.2.0 /home sudo mv opencv-3.2.0 opencv

    3.进入到解压后的文件包中

    cd opencv

    4.安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令

    sudo apt-get install cmake sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev

    5.安装完cmake之后执行命令 ,创建编译文件夹

    mkdir build cd build

    6.cmake一下

    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

    注意:如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可

    7.运行上面第六步命令的时候,需要下载一个文件,如果网络不是很好的情况下,很有可能下载失败,我们需要手动进行替换。参考ICV: Downloading ippicv_linux_20151201.tgz 超时

    解决的办法是手动下载:ippicv_linux_20151201.tgz

    原始的ippicv_linux_20151201.tgz是空的,我们用上面下载的进行替换,这个ippicv_linux_20151201.tgz路径在我的电脑位置如下:

    /home/xuchao/opencv3.2-master/all/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e

    在替换之后,我们在重新输入步骤6的命令:

    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

    这个时候就没有错误了。

    8.执行命令,漫长的编译过程

    sudo make

    编译的速度还是很慢的。 9.执行命令

    sudo make install

    10.sudo make install执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

    sudo gedit /etc/ld.so.conf.d/opencv.conf

    执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加:

    /usr/local/lib

    11.执行如下命令使得刚才的配置路径生效

    sudo ldconfig

    如果出现错误,可以参考ubuntu16.04安装opencv3.4.1教程解决方法。我这里没有出现错误。

    12.配置bash

    sudo gedit /etc/bash.bashrc

    在最末尾添加

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

    保存,执行如下命令使得配置生效

    source /etc/bash.bashrc

    更新

    sudo updatedb

    这句更新我的电脑好像没啥反应,我是直接输入后面直接退出了。

    3. 测试opencv3

    3.1 简单方法

    直接输入命令:

    pkg-config --modversion opencv

    注意:

    一开始没有注意,后来安装caffe之后发现进入python环境之后import cv2出现ImportError: No module named cv2错误,然后又重新安装Opencv3和caffe,又走了很多弯路。。。最后在一篇帖子发现解决方法。你只要添加一行代码就行了。。。这里版本的话,可以和pkg-config opencv --modversion尽量一致就可以了

    pip install opencv-python==3.2.0.8

    真的是多走了多少弯路啊!!!

    Ubuntu16.04安装opencv3.2.0

    3.2 稍微复杂的例子

    cd到一个文件下,注意/home/xuchao可能需要换成你自己的位置。

    cd /home/xuchao/opencv3.2-master/all/opencv-3.2.0/samples/cpp/example_cmake

    目录下 我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下 按顺序执行

    cmake . make ./opencv_example

    即可看到打开了摄像头,在左上角有一个hello opencv 即表示配置成功。

    虽然这个一闪而过,啥也没有看清,姑且认识它是好的吧~~~

    4. 安装opencv_contrib

    opencv_contrib-3.2.0.zip是opencv 3以后新添加的一个仓库,这个新仓库包含很多让人兴奋的功能:脸部识别,文本探测,文本识别,新的边缘检测器,充满艺术感的图像修复,深度地图处理,新的光流和追踪算法等。但该仓库是大多数实验性代码放置的地方,一些API可能会有改变。

    参考

    Ubuntu安装和完全卸载opencvUbuntu16.04安装opencv3opencv_contrib-3.2.0.zip下载地址

    然后可能需要重新卸载opencv3,在重新安装opencv,编译。好吧,我只是先安装caffe,后面如果有需要在安装opencv_contrib-3.2.0吧~~~

    唉,没想到Caffe这么难装,tensorflow,pytorch它不香吗~

    Processed: 0.028, SQL: 9