Aujourd'hui, j'ai installé l'opencv 2.4.4 pour Ubuntu 12.10
Mais importer cv2 ne fonctionne pas.
root@-:~# python
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>>
Si je comprends bien cv2.so a manqué, donc python ne voit pas où
root@-:~# find / -name "cv.py"
/root/opencv-2.4.4/modules/python/src2/cv.py
root@-:~# find / -name "cv2.so"
root@-:~#
Mes étapes d'installation ressemblent à
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4a.tar.bz2
tar -xjf OpenCV-2.4.4a.tar.bz2
cd opencv-2.4.4
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
make && make install
echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf
ldconfig
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" >> /etc/bash.bashrc
echo "export PKG_CONFIG_PATH" >> /etc/bash.bashrc
Où est cv2.so? Et pourquoi ça nous a manqué?
Comment installer opencv (cv2) avec des liaisons Python sous Linux - Ubuntu/Fedora
Installez gcc, g ++/gcc-c ++, cmake (apt-get ou yum, dans le cas de yum Utilisez gcc-c ++)
apt-get install gcc, g++, cmake
Télécharger la dernière version de le site Web d'openCV
Décompressez avec
tar -xvf opencv-*
Dans le dossier non-barré, créez un nouveau dossier appelé release
mkdir release
cd release
(ou n'importe quel nom de dossier) et lancez cette commande
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..
le ..
extraira les fichiers du dossier parents et préparera le système pour l'installation de sur votre plate-forme.
dans le dossier de publication, exécutez
make
Après environ 2-3 minutes de traitement de make lorsque son exécution est terminée
Sudo make install
Exporter le chemin python
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
Ça y est, maintenant allez en python et essayez
>>> import cv2
vous ne devriez pas recevoir de message d'erreur.
Testé sur Python 2.7, devrait être pratiquement similaire à Python 3.x.
J'installe python-opencv
pour résoudre mon problème sous Ubuntu 14.04 sh
Sudo apt-get install python-opencv
En utilisant raspbian sur une framboise pi, j’ai eu le problème de ne pas trouver le module également. J'avais trois versions de python (2.6, 2.7 et 3.2), assurez-vous que vous utilisez python2.7. Vous pouvez vérifier cela en exécutant:
python --version
J'ai découvert que dans mon cas, il fallait simplement installer python-dev.
Sudo apt-get install python-dev
Je n'ai pas eu à supprimer et réinstaller opencv, j'ai fait de mon mieux pour éviter cela, sachant qu'il faut quelques heures pour terminer le processus.
Après avoir installé python-dev, je me suis rendu dans le fichier dans lequel j'ai construit l'opencv. Pour moi, c'était "~/opencv-2.4.9/release", et je lui ai dit de créer
Sudo make
après cela, j'ai pu trouver le fichier cv2.so. la recherche avec:
find / -name "cv2.so"
à ce stade, j'ai trouvé quelques fichiers . Ensuite, j'ai juste exécuté le python pour voir s'il pouvait trouver les "importer"
python
>>> import cv2
aucune erreur ne devrait arriver.
>>> import numpy
J'ai entendu dire que numpy était nécessaire pour que l'opencv fonctionne. À partir de là, je pense que vous devriez pouvoir exécuter votre script si aucune erreur ne survient. J'espère que ça aide.
La page qui m'a aidé est répertoriée ...
J'ai eu un problème similaire lorsque j'ai configuré manuellement à l'aide de CMAKE sur OSX El Capitan. J'avais donné cette option supplémentaire:
PYTHON2_PACKAGES_PATH='lib/python2.7/site-packages'
ce qui a empêché l'installation de cv2.so dans ce paquet. Il semble s’installer correctement dans mon dossier de compilation après l’avoir retiré:
PYTHON2_EXECUTABLE='/usr/bin/python2.7'
PYTHON2_INCLUDE_DIR='/usr/include/python2.7'
PYTHON2_LIBRARY='/usr/lib/libpython2.7.dylib' # TODO - Fix for linux
PYTHON2_NUMPY_INCLUDE_DIRS='/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include' # Todo - Fix for linux
cd $OPENCV_DIR
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$OPENCV_INSTALL_PATH \
-D WITH_CUDA=OFF \
-D BUILD_opencv_python2:BOOL=ON \
-D PYTHON2_EXECUTABLE=$PYTHON2_EXECUTABLE \
-D PYTHON2_INCLUDE_DIR=$PYTHON2_INCLUDE_DIR \
-D PYTHON2_LIBRARY=$PYTHON2_LIBRARY \
-D PYTHON2_NUMPY_INCLUDE_DIRS=$PYTHON2_NUMPY_INCLUDE_DIRS \
-D INSTALL_PYTHON_EXAMPLES:BOOL=ON \
..
make -j8
make install
J'ai ce problème dans mon OS X El Capitan.
J'ai suivi les instructions mentionnées dans ce tutoriel . L’installation ci-dessus n’a pas fonctionné correctement et le fichier cv2.so manquant dans les dossiers requis mention et à l’invite python
apparaît.
Enfin, nous avons pensé que l’utilisation de la configuration virtuelle Python posait problème. Donc désinstallé avec
pip install virtualenv virtualenvwrapper
Puis couru
brew link opencv
qui a jeté des erreurs.
Et ensuite, suivez les étapes ci-dessous pour résoudre le problème.
Première exécution
brew link opencv
Si cela donne une erreur, essayez un diagnostic automatisé
brew doctor
brew doctor
donne une liste des problèmes pouvant entraîner des erreurs lors du processus d'installation.
Pour résoudre les problèmes en cas de fichiers en conflit, Exécute pour obtenir une liste de toutes les actions qui seront exécutées par écrasement sans les effectuer.
Pour lister tous les fichiers qui seraient supprimés:
brew link --overwrite --dry-run opencv
suivi de cette exécution qui exécutera l'écrasement, en supposant que les actions effectuées par écrasement entraînent votre système dans un état plus stable.
Pour forcer le lien et écraser tous les fichiers en conflit:
brew link --overwrite opencv
Ce tutoriel est une alternative plus simple.
Aucun de ce qui précède n'a fonctionné pour moi; suis dans Ubuntu 16.04 sur une instance ec2 et avait anaconda installé alors je viens d'utiliser
conda install opencv
pour mes deux installations conda2 et 3
Je suis tombé sur un problème similaire. Après avoir approfondi cela un peu plus, je suis tombé sur un message dans lequel il était mentionné que le paquetage python-numpy
était requis. J'ai donc désinstallé l'opencv en exécutant la commande suivante dans le dossier de construction (dans le dossier de publication de votre cas):
dpkg -r build
Ensuite, j'ai supprimé tous les fichiers opencv. J'ai installé python-numpy
et python-dev
avec cette commande:
Sudo apt-get install python-dev python-numpy
Ensuite, après avoir ré-exécuté le script d'installation, la commande import cv2
dans la console Python ne me génère aucune erreur et est correctement importée.
Dans mon cas, c'était un problème avec cmake
:
Sudo apt install software-properties-common
Sudo add-apt-repository ppa:george-edison55/cmake-3.x
Sudo apt update
Si cmake
n'est pas encore installé:
Sudo apt install cmake
Si cmake
est déjà installé:
Sudo apt upgrade
Pour plus d'informations, voir ce lien .
Toutes les réponses ci-dessus (cela n'a pas fonctionné pour moi} _), cependant, après toute une journée de difficulté, j'ai finalement résolu ce problème.
Pour avoir cv2.so, nous avons besoin de:
- Au moins python 2 ou 3 installé. c'est pourquoi les gens disent:
Sudo apt-get install python-dev
. Mais c’est non nécessaire, dans mon cas, j’utilise anaconda python. (il y a beaucoup de façons d'installer python)- numpy est également un must. donc, quel que soit le python que vous utilisez, assurez-vous de l'avoir téléchargé. Dans mon cas, j'utilise anaconda numpy. (anaconda l’a déjà installé, pour python normal, utilisez
pip install numpy
)
Pour indiquer à camke où se trouve le chemin, prenez ma commande à titre d'exemple:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
-D PYTHON2_EXECUTABLE='/home/parallels/anaconda2/bin/python' \
-D PYTHON2_LIBRARY='/home/parallels/anaconda2/lib/python2.7' \
-D PYTHON2_NUMPY_INCLUDE_DIRS='/home/parallels/anaconda2/lib/python2.7/site-packages/numpy/core/include' \
-D BUILD_EXAMPLES=ON ..
pour python3 , vous devriez (j'utilise anaconda python, alors j'ai lié tout à l'anaconda):
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.1/modules \
-D PYTHON3_EXECUTABLE='/home/test/SoftWare/anaconda3/bin/python3.6m' \
-D PYTHON_INCLUDE_DIR='/home/test/SoftWare/anaconda3/include/python3.6m' \
-D PYTHON3_LIBRARY='/home/test/SoftWare/anaconda3/lib/libpython3.6m.so' \
-D PYTHON3_NUMPY_INCLUDE_DIRS='/home/test/SoftWare/anaconda3/lib/python3.6/site-packages/numpy/core/include' \
-D PYTHON3_PACKAGES_PATH='/home/test/SoftWare/anaconda3/lib/python3.6/site-packages' ..
_ {Une chose à retenir} !!! avant de saisir cmake ... 1. nettoyez votre dossier de construction, 2.Camke once once! sinon vous ne pouvez pas changer ... (c'est un bug je pense)
Je sais qu'il peut y avoir des arguments inutiles, mais je suis fatigué d'essayer de les nettoyer. Voici une capture d'écran de mes informations d'impression cmake.capture d'écran de mes informations cmake
Vous pouvez voir clairement que seul python2 peut générer cv2.so. python3 ne peut pas! (Les wrappers Python3 ne peuvent pas être générés).