Ubuntu 18.04 Python3.6.5 安装opencv2-python

大家好,这是本人在CSDN分享的第一篇技术博客。在fork一个GitHub开源项目时,需要安装opencv2-python环境,安装过程进行到最后遇到了无法“import  cv2”的问题。折腾了好长时间,终于找到了解决办法。现将完整步骤写下。

      在Ubuntu 18.04环境下,默认安装好了Python3.6.5,但是没有安装Python2版本。

    第一步,安装需要的packages

    首先执行第一个命令

sudo apt-get update

 

    接着,执行第二个命令

sudo apt-get install build-essential cmake git python3-pip

    紧接着,安装Python3.6.5对应的开发版packages,下面的命令中版本号只需要写Python3.6就行

sudo apt-get intall ffmpeg
sudo apt-get intall libgtk2.0-dev
sudo apt-get install python3.6-dev

     最后,安装numpy

 pip3 install numpy

   第二步,下载OpenCV源代码

     先在Ubuntu的Desktop路径下,建立一个文件夹存放将要下载的源代码

cd Desktop
mkdir OpenCV-tmp
cd OpenCV-tmp
git clone https://github.com/Itseez/opencv.git

Ubuntu 18.04 Python3.6.5 安装opencv2-python_第1张图片

    第三步,building

     在编译OpenCV源代码之前,需要使用cmake命令生成make file。
     首先,在OpenCV-tmp路径下新建一个文件夹build,存放makefile。

mkdir build
cd build
cmake PYTHON_EXECUTABLE = /usr/bin/python3 PYTHON_INCLUDE_DIR = /usr/include/python3.6m PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python3.6m PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython3.6m.so PYTHON3_NUMPY_INCLUDE_DIRS = /usr/local/lib/python3.6/dist-packages/numpy/core/include/ .. -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ../../opencv-4.0.1-dev

    注意,第3个cmake命令中,对应的版本号可以根据自己的实际情况修改。比如,如果是Python3.5版本,就将相应的数字3.6替换为3.5,其他的不需要改变。

     Ubuntu 18.04 Python3.6.5 安装opencv2-python_第2张图片

     然后,build安装文件。

 make -j $(nproc --all)

     这句命令中$(nproc --all)的意思是,调用所有可用的处理器来执行make命令。

     第四步,安装

      通过执行make file安装OpenCV

 sudo make install

     第五步,安装扩展包

 pip3 install opencv-python

       如果没有这个命令,在安装opevncv时会出现 ImportError: No module named cv2 的错误,找不到cv2的包

     第六步,安装结果检查

       执行以下命令

 python3
 >>> import cv2
 >>> cv2.__version__
 '3.1.0-dev'

 

 

      Ubuntu 18.04 Python3.6.5 安装opencv2-python_第3张图片

       如果能得到类似以上的效果,说明安装成功。

                                                  您的支持是我不断前行的动力,谢谢!

Ubuntu 18.04 Python3.6.5 安装opencv2-python_第4张图片Ubuntu 18.04 Python3.6.5 安装opencv2-python_第5张图片

你可能感兴趣的:(python)