Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Installer OpenCV sur Raspbian


Sujet :

Raspberry Pi

  1. #1
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut Installer OpenCV sur Raspbian
    Bonjour,

    j'essaye d'installer OpenCV sur mon Raspberry Pi 3 B+. Je suis le tutoriel ici : https://pymotion.com/installer-opencv-4-sur-raspberry/
    Et je bloque sur 1 point au niveau de l'étape 4 : sur mon Pi sont installées les version 2.7, 3.4 et 3.6 de Python. Je ne veux pas que cmake point sur l'interpréteur Python 3.4 mais sur la version 3.6. J'ai regardé la doc de cmake pour voir comment je peux changer ce point, mais je ne comprends pas vraiment la documentation.

    Comment je peux demander à cmake de pointer sur Python 3.6 ? Merci.

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    2 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 491
    Points : 8 500
    Points
    8 500
    Par défaut
    Salut
    Quelle version de Python qui est sélectionnée par défaut ?

    Tu peux éventuellement et temporairement imposer la version de Python à ton environnement ?

    Dans ton fichier .bashrc tu ajoutes cette ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias ​​python='/usr/bin/python3.6'
    Puis tu recharges le .bashrc

    Tu contrôles la version de python appelée par défaut sur ton profil

    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  3. #3
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut
    Je ne suis pas sûr d'avoir une version par défaut. Dans ma console bash, si je tape
    c'est pour la version 2.7

    pour la version 3.4

    pour la version 3.6

    De même j'ai pip, pip3 et pip3.6

    Dans l'étape 4 du tuto, il y a une minuscule copie d'écran du résultat retourné par cmake (il faut zoomer sur l'image). Donc je voudrais que cmake, pointe sur la version 3.6. Je ne suis pas sûr qu'il faille modifier le bashrc. Je vais peut-être utiliser les commandes indiquées ici :
    https://stackoverflow.com/questions/...version-how-do
    en plus de commandes de compilation.

  4. #4
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut
    Il me manque la bibliothèque partagée python3.6.so
    Visiblement dans le tutoriel que j'ai suivi pour l'installation de Python 3.6, la création de cette bibliothèque n'est pas proposée.

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    2 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 491
    Points : 8 500
    Points
    8 500
    Par défaut
    Salut,
    Si dans la console, la commande python --version répond python 2.7 et que tu tentes d'installé OpenCV 4 ça va merdouiller car il s'attend a trouver la version 3 de python.

    C'est ce que je proposais dans mon précédent poste, de lancer par défaut la version 3 de python en appelant, ou si cmake appel, python

    En regardant ce tuto, mais je n'ai pas de Raspberry sous la main pour essayer, je ne vois pas de gros problèmes, sauf si jamais cmake appel python et ne se retrouve pas avec la bonne version
    https://www.alatortsev.com/2018/11/2...pberry-pi-3-b/
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut
    cmake pointe sur python 3.4 et je voudrais qu'il pointe sur python 3.6. Je vais essayer de modifier le fichier bashrc comme tu l'as indiqué, je verrai bien ce qu'il va se passer.

  7. #7
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    2 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 491
    Points : 8 500
    Points
    8 500
    Par défaut
    Citation Envoyé par Auteur Voir le message
    cmake pointe sur python 3.4
    Le cmake point de manière explicite vers python 3.4

    Alors ce que je préconise ne fonctionnera pas car ça va juste faire pointer "python" vers "python3" qui lui appelle ta version 3.6 (la dernière que tu as installé)... mais cmake va vouloir la 3.4 si c'est en dur dedans. En lisant le tuto, je n'ai rien vu de tel, l'auteur aurait du le préciser car c'est super important. Ça change même carrément tout !

    Dans le tuto j'ai vu ça

    sudo apt-get install python3-dev

    Sauf que cette ligne va installer la version de python la plus récente dans tes paquets, et ce n'est pas du tout garantie que c'est la 3.6. Si on prend une vieille distrib, ce sera peut être 3.4 ou autre.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut
    Dans son tuto cmake pointe sur python3.5 et dans mon cas cmake a pris 3.4, donc ce n'est pas en dur, en tout cas cmake sait où il faut chercher. J'ai raté quelque chose au moment de l'installation de Python 3.6.

    Sauf que cette ligne va installer la version de python la plus récente dans tes paquets, et ce n'est pas du tout garantie que c'est la 3.6. Si on prend une vieille distrib, ce sera peut être 3.4 ou autre.
    Ben, pour Python 3.6, il n'existe pas de version toute faite pour Raspberry, j'ai dû la compiler, comme indiqué précédemment. J'ai modifié .bashrc cela n'a rien changé.
    Images attachées Images attachées  

  9. #9
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut
    J'avance doucement... j'ai ajouté des flags à mon makefile :
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    	-D CMAKE_INSTALL_PREFIX=/usr/local \
    	-D INSTALL_C_EXAMPLES=OFF \
    	-D INSTALL_PYTHON_EXAMPLES=ON \
    	-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.0.0/modules \
    	-D PYTHON3_EXECUTABLE:FILEPATH=/usr/local/bin/python3.6 \
    	-D PYTHON3_INCLUDE_DIR:PATH=/usr/local/include/python3.6m \
    	-D PYTHON3_LIBRARY:FILEPATH=/usr/local/lib/libpython3.6m.so \
    	-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.6/site-packages/numpy/core/include/numpy \
    	-D BUILD_EXAMPLES=ON ..

    Les flags ajoutés concernent Python3 : PYTHON3_xxxxxIl y a encore une erreur dans le package_path

    Mais j'ai un doute : la console m'affiche quand même
    Interpreter /usr/local/bin/python3.6 (ver 3.4.2)
    comment je dois l'interpréter Même chose pour Numpy, j'ai installé la version 1.15.1

    Je ne suis même pas sûr que OpenCV fonctionnera normalement avec Python3.6
    Images attachées Images attachées  

  10. #10
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut
    C'est raté
    La compilation a planté à 88% et ne trouve pas le fichier python.h. Pourtant après vérification, python.h se trouve bien dans le dossier include que j'ai spécifié : /usr/local/include/python3.6m

  11. #11
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    7 206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 7 206
    Points : 10 076
    Points
    10 076
    Par défaut
    ça marche

    Python 3.6
    Pour installer Python 3.6 sur Raspberry Pi j'ai suivi cette procédure : https://gist.github.com/dschep/24aa6...aca2824400d37f
    Ne pas oublier d'installer numpy entre autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo pip3.6 install numpy
    OpenCV :
    1ère chose que j'ai faite : j'ai modifié le fichier .bashrc comme me l'a proposé Vincent, mais de cette manière (un alias python3 et non python) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias ​​python3='/usr/bin/python3.6'

    ensuite j'ai suivi le tutoriel ici : https://pymotion.com/installer-opencv-4-sur-raspberry/ Toutefois, je n'ai pas suivi l'étape 1, je n'ai pas étendu la partition, je suis passé directement à l'étape 2. J'ai ensuite téléchargé OpenCV comme indiqué, j'ai néanmoins dézippé les archives dans home/Documents. Pas besoin d'installer pip et numpy puisque je l'ai fait au moment d'installer Python 3.6.

    Etape 4, j'ai créé le dossier build, mais j'ai réalisé un fichier makefile.sh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    	-D CMAKE_INSTALL_PREFIX=/usr/local \
    	-D INSTALL_C_EXAMPLES=OFF \
    	-D INSTALL_PYTHON_EXAMPLES=ON \
    	-D OPENCV_EXTRA_MODULES_PATH=~/Documents/opencv_contrib-4.0.0/modules \
    	-D PYTHON3_EXECUTABLE:FILEPATH=/usr/local/bin/python3.6 \
    	-D PYTHON3_INCLUDE_DIR:PATH=/usr/local/include/python3.6m \
    	-D PYTHON3_LIBRARY:FILEPATH=/usr/local/lib/libpython3.6m.so \
    	-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.6/site-packages/numpy/core/include/numpy \
    	-D BUILD_EXAMPLES=ON ..
    on remarque que, dans mon cas, les paramètres sont de la forme PYTHON3_xxxxx. Attention à la valeur de l'argument OPENCV_EXTRA_MODULES_PATH. Pour moi c'est ~/Documents/opencv_contrib-4.0.0/modules \ puisque j'ai dézippé les archives dans ~/Documents.

    Dommage, je n'ai pas pris de copie d'écran de ce que j'obtenais cette fois-ci après l'exécution du script. Mais je n'ai plus les aberrations que j'obtenais précédemment . Cette fois-ci j'ai bien, entre autres,
    ]Interpreter /usr/local/bin/python3.6 (ver 3.6)

    J'ai également augmenté l'espace d'échanges swap comme indiqué. J'ai quand même rebooté la machine après cette modification. La compilation (le make -j4) prend quand même un bout de temps (plus d'une heure). Le Pi a tendance à chauffer pendant cette étape (apparition d'un thermomètre sur le bureau).

    Etape 5 : Lier openCV et Python. Dans mon cas c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo ln -s /usr/local/python/cv2/python-3.6/cv2.cpython-36m-arm-linux-gnueabihf.so  /usr/local/lib/python3.6/cv2.so
    Pour la vérification de l'installation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       python3
        >>> import cv2
        >>> cv2.__version__
        '4.0.0'

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. installation tvheadend sur Raspbian
    Par rvm31 dans le forum Debian
    Réponses: 4
    Dernier message: 18/08/2019, 10h58
  2. Problème d'installation OpenCV sur Mac OS X 10.8
    Par Zephou dans le forum OpenCV
    Réponses: 0
    Dernier message: 31/01/2013, 15h58
  3. Installer OpenCV sur Ubuntu ?
    Par WhiteTigerZ dans le forum OpenCV
    Réponses: 5
    Dernier message: 21/03/2012, 20h45
  4. Installer OpenCV sur une achitecture ARM
    Par LeXxX dans le forum OpenCV
    Réponses: 2
    Dernier message: 16/03/2012, 20h22
  5. Problème d'installation de openCV sur visual C++ 6.0
    Par jp_developpeur dans le forum Visual C++
    Réponses: 3
    Dernier message: 19/11/2008, 20h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo