【opencv/编译】ubuntu安装python3.6、pip、vscode、opencv

说在前面

  • ubuntu版本:16.0.4
  • python:3.6
  • opencv:4.1.1

安装python3.6

  • 参考这里
    sudo add-apt-repository ppa:jonathonf/python-3.6
    sudo apt-get update
    sudo apt-get install python3.6
    
    然后你会发现/usr/bin 中有3个版本的python。
    在这里插入图片描述
    python -V  #结果是python2.7
    python2 -V #结果是python2.7
    python3 -V #结果是python3.5
    
    然后修改一下软链接,让python、python3的版本都改为3.6
    cd /usr/bin
    sudo rm python
    sudo rm python3
    sudo ln -s python python3.6m
    sudo ln -s python3 python3.6m
    
    (为什么改python3?不然后面使用pip安装各种包的时候会装在3.5里;注:这部分还是自己尝试一下,用pip安装一个包试试,只要装在你自己要用的那个版本就行,目录应该是/usr/local/lib/pythonx.x/dist-packages)
    最后使用python -V查看一下版本。
    在这里插入图片描述
    注意:更换python默认版本后系统某些功能可能会出问题,例如add-apt-repository就不能用了,貌似这个默认用的是3.5的,并且只有3.5可以安全使用。

安装pip3

  • 参考这里
    但是装完后pip3没有,只有个最新版本的pip
    不过,当使用pip进行实验后,发现安装的包放在python3.6下,那就没问题啦。
    pip install yapf
    
    在这里插入图片描述

安装VSCode

  • 官网下载安装(.deb文件,通过ubuntu软件安装)
  • 配置vscode
    在这里插入图片描述
    修改settings.json
    {
        "workbench.iconTheme": "vscode-icons",
        "python.pythonPath": "/usr/bin/python3.6"
    }
    
    中文
    ctrl+shift+p,输入configure display language,选择添加
    安装中文简体
    在这里插入图片描述
  • 测试
  1. 新建文件夹
  2. 使用vscode打开文件夹
  3. 创建 main.py
  4. 编写代码
    def hello():
        print("HelloWorld")
    
    
    if __name__ == '__main__':
        hello()
    
    
  5. F5进行调试
    在这里插入图片描述

安装OpenCV

  • 安装预编译版本
    如果只使用opencv的主要功能,建议直接安装预编译版本,根据opencv官网的教程。

    sudo apt-get install python-opencv
    

    然后在python文件中使用即可

    import cv2 as cv
    print(cv.__version__)
    

    多简单,多舒服~~~,但是有些功能你用不了!!!

  • 自己编译
    (又要编译吗???)
    如果你需要使用以下功能,那么就得从源码编译
    在这里插入图片描述
    编译过程参考官方教程
    编译依赖

    sudo apt-get install build-essential
    

    必选项

    sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    

    可选项

    sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    

    下载源码(这样下载的都是最新版本的opencv,而且git速度给劲)

    sudo apt-get install git
    # 或者使用gitee https://gitee.com/mirrors/opencv.git
    git clone https://github.com/opencv/opencv.git
    # https://gitee.com/mirrors/opencv_contrib.git
    git clone https://github.com/opencv/opencv_contrib.git
    

    目录结构
    在这里插入图片描述
    然后

    cd opencv
    mkdir build
    cd build
    

    最终的Cmake命令如下:

    sudo cmake \
    -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules ~/opencv/opencv \
    -D PYTHON_DEFAULT_EXCUTABLE=/usr/bin/python3 \
    -D BUILD_opencv_python3=ON \
    -D BUILD_opencv_python2=OFF \
    -D PYTHON3_EXCUTABLE=/usr/bin/python3 \
    -D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
    -D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
    -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.6/dist-packages/numpy/core/include \
    -D WITH_TBB=ON \
    -D WITH_EIGEN=ON \
    -D WITH_OPENGL=ON \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D CMAKE_C_COMPILER=/usr/bin/gcc-5 ..
    

    解释如下:

    -D CMAKE_BUILD_TYPE=RELEASE 
    #release版本
    -D CMAKE_INSTALL_PREFIX=/usr/local
    #安装的路径
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules ~/opencv/opencv \
    #contrib模块路径
    -D PYTHON_DEFAULT_EXCUTABLE=/usr/bin/python3 \
    #python默认路径
    -D BUILD_opencv_python3=ON \
    #打开python3
    -D BUILD_opencv_python2=OFF \
    #关闭python2
    -D PYTHON3_EXCUTABLE=/usr/bin/python3 \
    #python3路径
    -D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
    #include路径
    -D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
    #lib路径
    -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.6/dist-packages/numpy/core/include \
    #numpy路径,先使用sudo pip install numpy
    -D WITH_TBB=ON \
    #不管
    -D WITH_EIGEN=ON \
    #不管
    -D WITH_OPENGL=ON \
    #内置opengl
    -D OPENCV_ENABLE_NONFREE=ON \
    #允许nonfree的模块
    -D CMAKE_C_COMPILER=/usr/bin/gcc-5 
    #使用gcc5编译,加上,不然出错
    

    注意:若出现找不到videoio.h的错误,请在/usr/include文件夹中创建目录sys,进入该目录创建空文件videoio.h
    最后

    sudo make -j4
    sudo make install
    

    测试

    import cv2 as cv
    
    
    def hello():
        print("HelloWorld")
    
    
    if __name__ == '__main__':
        hello()
        print(cv.__version__)
    
    

    在这里插入图片描述
    试一下xfeature2d

    from __future__ import print_function
    import cv2 as cv
    import numpy as np
    src = cv.imread('timg.jpeg', cv.IMREAD_GRAYSCALE)
    if src is None:
        print('Could not open or find the image')
        exit(0)
    # -- Step 1: Detect the keypoints using SURF Detector
    minHessian = 400
    detector = cv.xfeatures2d_SURF.create(hessianThreshold=minHessian)
    keypoints = detector.detect(src)
    # -- Draw keypoints
    img_keypoints = np.empty((src.shape[0], src.shape[1], 3), dtype=np.uint8)
    cv.drawKeypoints(src, keypoints, img_keypoints)
    # -- Show detected (drawn) keypoints
    cv.imshow('SURF Keypoints', img_keypoints)
    cv.waitKey()
    
    

    在这里插入图片描述
    然后build可以删了

  • python

    • 更改默认版本导致add-apt-repository不可用
      要用的时候换回3.5,hhhh
  • opencv

    • 找不到python.h
      (fatal error: Python.h: 没有那个文件或目录)
      这里我们使用的是python3.6,因此
      sudo apt-get install python3.6-dev
      
    • 找不到videoio.h
      在/usr/include创建文件夹sys,进入并创建空文件videoio.h
    • ‘command line option .* is valid for .* but not for C++’
      -D CMAKE_C_COMPILER=/usr/bin/gcc-5

to be continued…

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你已经安装OpenCV,可以通过以下步骤卸载它: 1. 打开终端或命令提示符,输入以下命令,以卸载OpenCV: ``` pip uninstall opencv-python ``` 2. 输入y确认卸载。 安装OpenCV Python 3.6版本,可以按照以下步骤操作: 1. 确保已经安装Python 3.6版本。如果没有,请先安装Python 3.6。 2. 打开终端或命令提示符,输入以下命令,以安装OpenCV Python 3.6版本: ``` pip install opencv-python==3.6.0 ``` 3. 安装完成后,可以在Python代码中导入OpenCV库,例如: ``` import cv2 ``` 注意事项: - 安装前请确保已连接到互联网,以便从PyPI(Python包索引)下载所需的软件包。 - OpenCV在不同的平台和Python版本之间可能会有不同的安装要求,请根据需要选择合适的版本。 ### 回答2: 要卸载现在的OpenCV安装OpenCV Python 3.6版本,可以按照以下步骤进行操作: 1. 首先,打开终端或命令提示符窗口,并输入以下命令以卸载当前已安装OpenCV: ``` pip uninstall opencv-python ``` 2. 接下来,可以使用以下命令卸载其他与OpenCV相关的包: ``` pip uninstall opencv-python-headless pip uninstall opencv-contrib-python ``` 3. 然后,可以检查是否还存在任何OpenCV相关的文件或文件夹,如果有的话,请将其删除。这包括任何旧版本的OpenCV安装文件。 4. 确保您的Python环境中安装Python 3.6版本。如果没有,请根据您的操作系统安装Python 3.6。 5. 然后,在终端或命令提示符窗口中输入以下命令以安装OpenCV Python 3.6版本: ``` pip install opencv-python==3.6 ``` 6. 此命令将会下载并安装OpenCV Python 3.6版本及其依赖项。请耐心等待安装过程完成。 7. 安装完成后,您可以使用以下命令验证OpenCV版本是否已成功更改为3.6: ``` import cv2 print(cv2.__version__) ``` 如果打印的版本号是3.6或更高,则表示已成功安装OpenCV Python 3.6版本。 请注意,这些步骤适用于大多数操作系统,但可能会因操作系统和软件版本的不同而有所变化。在执行任何操作之前,请确保备份您的数据和环境,以防出现意外情况。 ### 回答3: 要卸载现在的OpenCV安装OpenCV Python 3.6版本,可以按照以下步骤进行操作: 1. 首先,打开命令提示符或终端窗口。 2. 输入以下命令以卸载现有的OpenCV: ``` pip uninstall opencv-python ``` 这将卸载当前安装OpenCV版本。 3. 确保已安装Python 3.6版本。如果尚未安装,可以从Python官方网站下载并安装Python 3.6版本。 4. 输入以下命令以安装OpenCV Python 3.6版本: ``` pip install opencv-python==3.6 ``` 这将安装OpenCV Python 3.6版本。 5. 安装完成后,可以通过导入OpenCV库并验证版本来确认是否成功安装Python 3.6版本。可以使用以下Python代码进行验证: ```python import cv2 print(cv2.__version__) ``` 如果输出的版本号为3.6.x,则表示已成功安装OpenCV Python 3.6版本。 完成以上步骤后,您应该成功卸载了现有的OpenCV安装OpenCV Python 3.6版本。请注意,这些步骤假设您已在计算机上正确设置了Python运行环境和pip工具。如果遇到任何问题,建议参考OpenCV官方文档或寻求相关的技术支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值