Ubuntu, how to install OpenCV for python3?

前端 未结 8 1842
谎友^
谎友^ 2020-12-13 14:51

I want to install OpenCV for python3 in ubuntu 16.04. Fist I tried running sudo apt-get install python3-opencv which is how I pretty much install all of my pyt

相关标签:
8条回答
  • 2020-12-13 15:28

    Credit is due to the accepted answer for being correct for Ubuntu 16.04, however in Ubuntu 18.04 and later Python 3 bindings for the OpenCV (Open Computer Vision) library can be installed from the default Ubuntu repositories with the following command:

    sudo apt install python3-opencv  
    

    The Open Computer Vision Library is a collection of algorithms and sample code for various computer vision problems. The library is compatible with IPL (Intel's Image Processing Library) and, if available, can use IPP (Intel's Integrated Performance Primitives) for better performance.

    0 讨论(0)
  • 2020-12-13 15:29

    Well this will be a lengthy answer, so let's start :

    Step 1: Install prerequisites : Upgrade any pre-installed packages:

    $ sudo apt-get update
    $ sudo apt-get upgrade
    

    Install developer tools used to compile OpenCV 3.0:

    $ sudo apt-get install build-essential cmake git pkg-config
    

    Install libraries and packages used to read various image and videos formats from disk:

    $ sudo apt-get install libjpeg8-dev libtiff5-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
    

    Install GTK so we can use OpenCV’s GUI features:

    $ sudo apt-get install libgtk2.0-dev
    

    Install packages that are used to optimize various functions inside OpenCV, such as matrix operations:

    $ sudo apt-get install libatlas-base-dev gfortran
    

    Step 2: Setup Python (Part 1)

    Let’s download pip , a Python package manager, installed for Python 3:

    $ wget https://bootstrap.pypa.io/get-pip.py
    $ sudo python3 get-pip.py
    

    Let’s use our fresh pip3 install to setup virtualenv and virtualenvwrapper :

    $ sudo pip3 install virtualenv virtualenvwrapper
    

    Now we can update our ~/.bashrc file (place at the bottom of the file):

    # virtualenv and virtualenvwrapper
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
    $ source ~/.bashrc
    $ mkvirtualenv cv
    

    Step 2: Setup Python (Part 2)

    we’ll need to install the Python 3.4+ headers and development files:

    $ sudo apt-get install python3.4-dev
    

    OpenCV represents images as NumPy arrays, so we need to install NumPy into our cv virtual environment:

    $ pip install numpy
    

    Step 3: Build and install OpenCV 3.0 with Python 3.4+ bindings

    $ cd ~
    $ git clone https://github.com/opencv/opencv.git
    $ cd opencv
    $ git checkout 3.0.0
    $ cd ~
    $ git clone https://github.com/opencv/opencv_contrib.git
    $ cd opencv_contrib
    $ git checkout 3.0.0
    

    Time to setup the build:

    $ cd ~/opencv
    $ mkdir build
    $ cd build
    $ cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D INSTALL_C_EXAMPLES=ON \
        -D INSTALL_PYTHON_EXAMPLES=ON \
        -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
        -D BUILD_EXAMPLES=ON ..
    

    Let's start OpenCV compile process :

    $ make -j4
    

    Assuming OpenCV 3.0 compiled without error, you can now install it on your system:

    $ sudo make install
    $ sudo ldconfig
    

    Step 4: Sym-link OpenCV 3.0

    If you’ve reached this step, OpenCV 3.0 should now be installed in /usr/local/lib/python3.4/site-packages/.

    Here, our OpenCV bindings are stored under the name cv2.cpython-34m.so

    However, in order to use OpenCV 3.0 within our cv virtual environment, we first need to sym-link OpenCV into the site-packages directory of the cv environment, like this: (Be sure to take note of cv2.cpython-34m.so)

    $ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
    $ ln -s /usr/local/lib/python3.4/site-packages/cv2.cpython-34m.so cv2.so
    

    Notice how I am changing the name from cv2.cpython-34m.so to cv2.so — this is so Python can import our OpenCV bindings using the name cv2 .

    Step 5: Test out the OpenCV 3.0 and Python 3.4+ install

    $ workon cv
    $ python
    >>> import cv2
    >>> cv2.__version__
    '3.0.0'
    

    Hope that helps. Also, credit to Adrian Rosebrock on his post. It worked for me as a charm.

    0 讨论(0)
提交回复
热议问题