Comment installer OpenCV 3.1 pour Python 3.5 sur Ubuntu 16.04 LTS?

22

Comment installer OpenCV version 3.1 sur Ubuntu 16.04 LTS pour travailler avec Python 3.5.1?

J'ai essayé cela sur une machine virtuelle, mais cela est évidemment utile si vous voulez travailler avec Python 2.

Billal Begueradj
la source
4
est-ce tagué [windows] parce que vous utilisez WSL? Veuillez nous parler de votre version / environnement Ubuntu, sinon il est difficile de diagnostiquer le problème avec précision
Zanna
Le meilleur que j'ai vu jusqu'à présent qui a fonctionné pour moi: milq.github.io/install-opencv-ubuntu-debian
Oluwayetty
C'est parfait: begueradj.com/…
Billal Begueradj

Réponses:

10

J'ai OpenCV version 3.1 sur Ubuntu 16.04 LTS pour travailler avec Python 3.5.1. À la dernière version c'est corrigé, essayez:

http://cyaninfinite.com/tutorials/installing-opencv-in-ubuntu-for-python-3/

Mais je n'ai pas téléchargé dev python et OpenCV, j'ai pris directement depuis github:

1

MODIFIER:

Voici les instructions que j'ai testées avec succès et mentionnées dans le lien ci-dessus:

  1. Mettez à jour le référentiel: sudo apt-get update
  2. Téléchargez les packages requis pour compiler OpenCV:

    sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  3. Installez les packages de développement pour Python3.5: sudo apt-get install python3.5-dev
  4. Copiez les fichiers dev: python3.5-config --includesLa sortie devrait être similaire à: -I/usr/include/python3.5m -I/usr/include/x86_64-linux-gnu/python3.5m. La première partie de la sortie est l'emplacement attendu et la deuxième partie montre l'emplacement actuel du fichier de configuration. Pour résoudre ce problème, nous allons copier le fichier de l'emplacement actuel vers l'emplacement attendu:sudo cp /usr/include/x86_64-linux-gnu/python3.5m/pyconfig.h /usr/include/python3.5m/
  5. Créez un répertoire temporaire, transfèrera et exécutez: git clone https://github.com/Itseez/opencv.git. Cela va télécharger OpenCV 3. Ensuite, renommez le dossier opencvenopencv-3
  6. Créez un buildrépertoire, accédez-y et exécutez:

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ../opencv-3
  7. Une fois le processus terminé, exécutez makepuis sudo make install.
  8. Prendre plaisir.
Dmitrii Magas
la source
1
Malheureusement, beaucoup de ces problèmes échouent encore pour moi. Je reçois des erreurs sur le chemin d'apt_pkg et je ne peux pas importer plusieurs puces
CashCow
1
En particulier, il continue de trouver python3.4 plutôt que python3.5 et je n'ai aucune idée de la façon de le diriger pour utiliser python3.5. Quand j'ai essayé d'importer opencv en python3.4, j'ai eu une erreur différente sur certaines des dépendances manquantes
CashCow
Le dernier bit de la dernière commande devrait être ../../opencv-3 Je pense ... que vous avez deux dires de plus pour spécifier le répertoire opencv-3
wordsforthewise
Vous voulez également utiliser tous les processeurs lorsque vous le faites make, donc si vous avez 8 cœursmake -j8
mots pour
Exécutez cmake à partir d'un autre répertoire parallèle sinon vous obtiendrez ce problème stackoverflow.com/questions/45518317/…
100rabh
40

J'ai trouvé ça .

OpenCV sur roues.

Packages OpenCV non officiels pour Python.

L'installation s'est déroulée sans problème pour Ubuntu 16.04:

pip3 install opencv-python

Vérifiez l'installation:

python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'
Trevor
la source
1
J'aime cette solution mais j'ai reçu ce message d'erreur:Could not find any downloads that satisfy the requirement opencv-python
Jeff Tian
Cela pourrait être la solution la plus simple et la plus fonctionnelle, à moins que vous ne recherchiez une version supérieure d'opencv
Joshua Owoyemi
1
assurez-vous d'utiliser pip3 et PAS pip!
givonz
Il manquait également les éléments suivants dans mon conteneur lxc: apt-get install -y libsm6 libxext6 libxrender-dev
DanJ
facile mais ce paquet n'a pas de fonctionnalités vidéo
Beyhan Gül
2

La manière la plus simple et élégante que j'ai trouvée en ligne est d'installer la bibliothèque en exécutant un script d'installation. Téléchargez le script d'installationinstall-opencv.sh , ouvrez votre terminal et exécutez:

bash install-opencv.sh

Tapez votre mot de passe sudo et vous aurez installé OpenCV. Cette opération peut prendre du temps en raison des packages à installer et du processus de compilation.

La référence: https://milq.github.io/install-opencv-ubuntu-debian/

Oluwayetty
la source
1

Je travaille actuellement avec Google VM (Ubuntu 14.04). L'installation d'opencv sur la version python3.4 a été toute une tâche. Je voulais qu'opencv soit installé pour python 3.4 mais à chaque fois qu'il était installé sur la version 2.7.

Je vais partager les étapes que j'ai suivies afin d'aider les autres à ce sujet.

Étape 1 Suivez toutes les étapes mentionnées dans la partie d'installation d'OpenCv jusqu'à cmake. Le lien est donné ci-dessous:

https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

Remarque: installez les 3 packages mentionnés au démarrage. Celui en option aussi .. !! Et n'oubliez pas de changer la version python pour laquelle vous installez.

J'ai fait

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

Suivez l'étape 2 pour cmake.

Étape 2 Pour installer opencv dans une version spécifique de python (ubuntu), vous devez définir la valeur par défaut (PYTHON_DEFAULT_EXECUTABLE) avec le chemin vers lequel votre python est installé. Vous pouvez le découvrir en utilisant la commande whereis python3.4 (ou votre version). Le mien était en/usr/bin/python3.4

Au lieu de cmake mentionné sur la page, utilisez ceci,

cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_opencv_python3=ON -D HAVE_opencv_python3=ON -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3.4 ..

Remarque: N'oubliez pas de modifier votre version et votre chemin d'accès python dans PYTHON_DEFAULT_EXECUTABLE.

Étape 3 Suivez les étapes restantes comme indiqué dans le lien jusqu'à ce que sudo fasse l'installation

J'espère que ça aide.

Vaibhav
la source
0

Guide de base: https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

Ce qui suit, testé sur Ubuntu 18.04 , installe OpenCV 4.1.0-dev et n'utilise pas d'environnement virtuel python. Je n'ai pas encore compris comment ils fonctionnent. J'ai mis la réponse ici pour qu'elle ait une visibilité plus large.

Exigences

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Comment installer Jasper: https://github.com/opencv/opencv/issues/8622#issuecomment-353761271

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

1. Clone repos

L'installation comprendra des modules contrib.

cd ~/<my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

(Git branche à 3.4 pour installer cette version.)

1.1 Créer un dossier de construction

Si vous vous trompez, supprimez simplement le dossier de construction et recommencez à partir d'ici .

mkdir build
cd build

2. Configuration

J'utilise les drapeaux cmake suivants:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..

Drapeaux facultatifs: (il y a beaucoup de drapeaux , voir cet article de blog pour certains utiles)

-DINSTALL_C_EXAMPLES=ON 
-DINSTALL_PYTHON_EXAMPLES=ON 
-DWITH_TBB=ON 
-DWITH_V4L=ON 
-DWITH_QT=ON 
-DWITH_OPENGL=ON
-DWITH_NVCUVID=ON 
-DWITH_CUDA=ON
-DWITH_OPENMP=ON 
-DWITH_IPP=ON
-DWITH_OPENCL=ON

Assurez-vous que cmake trouve votre version python en vérifiant sa sortie pour les éléments suivants:

--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.15)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.15+)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.13.3)
--     install path:                lib/python2.7/dist-packages/cv2/python-2.7
-- 
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.6.8)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.6m.so (ver 3.6.8)
--     numpy:                       /home/jx/.local/lib/python3.6/site-packages/numpy/core/include (ver 1.15.4)
--     install path:                lib/python3.6/dist-packages/cv2/python-3.6

Comment spécifier les versions de python à utiliser

3. Créez et installez

Utilisez make avec le nombre de threads souhaité (ex. Nombre de processeurs) puis installez.

make -j8
sudo make install

Les choses devraient maintenant s'installer /usr/local

4. Test

Si tout s'est bien passé, vous devriez pouvoir importer cv2 en python.

import cv2
cv2.__version__
qwr
la source
-1

OpenCV peut être installé en utilisant pip / pip3 et homebrew. J'ai essayé de l'installer avant d'utiliser pip3 (Python 3.6.0), mais j'ai eu des problèmes avec VideoCapture, qui nécessite le package ffmpeg. cv2.VideoCapture ('videofilename'). C'est pourquoi j'ai utilisé homebrew pour installer OpenCV. Ouvrez un terminal avec Ctrl+ Alt+ Tet tapez les commandes suivantes:

brew install ffmpeg
brew install opencv3 --with-ffmpeg -v (Python 2.7)
brew install opencv3 --with-python3 --with-ffmpeg -v (Python 3.6)
Biranchi
la source
3
Pourquoi proposez-vous d'utiliser homebrew?
guntbert
1
OpenCV peut être installé en utilisant pip / pip3 et homebrew. J'avais installé en utilisant pip3 (Python 3.6.0), mais j'ai eu des problèmes avec VideoCapture, qui nécessite le package ffmpeg. cv2.VideoCapture ('videofilename') J'ai donc utilisé homebrew pour l'installation et cela a bien fonctionné.
Biranchi
2
@Biranchi veuillez mettre à jour votre réponse avec les informations de votre commentaire (et peut-être ajouter quelques informations supplémentaires).
Simon Sudler