J'ai eu l'occasion d'utiliser OpenCV pour Raspberry Pi au travail, mais je ne pouvais pas l'installer en utilisant uniquement les informations de la page officielle d'OpenCV, et j'avais du mal à trouver des informations fiables, alors j'aimerais partager les informations.
__1. Il existe deux méthodes d'installation principales __ -Installez le package pré-construit non officiel (opencv-python) -Construire l'OpenCV officiel sur Raspberry Pi
__2. Vérification du fonctionnement d'OpenCV __ -Vérifier s'il peut être importé -Contrôle de fonctionnement par exemple de programme de lecture de caméra
__3. À propos de la licence OpenCV __ -OpenCV est une licence BCD -Les modules de contribution incluent ceux qui ne sont pas disponibles dans le commerce
-Construire un environnement sur RaspberryPi4 (OS: Raspbian Buster avec bureau). -Il est supposé qu'OpenCV est utilisé en Python. La version de Pyhton est Python 3.7.3. -La version d'OpenCV à installer est OpenCV4.
<Pypi(Python Package Index) opencv-python> https://pypi.org/project/opencv-python/ Pypi est un service de gestion de packages pour pip. Sur la page opencv-python, il a été écrit comme suit.
Note that the wheel (especially manylinux) format does not currently support properly ARM architecture so there are no packages for ARM based platforms in PyPI. However, opencv-python packages for Raspberry Pi can be found from https://www.piwheels.org/.
\ <Google Traduction ...>
PyPI n'a pas de package pour les plates-formes ARM, car le format wheel (en particulier manylinux) ne prend actuellement pas correctement en charge l'architecture ARM. Cependant, le package opencv-python pour Raspberry Pi est disponible sur https://www.piwheels.org/.
Et cela. À propos, Raspberry Pi est ARM Linux. Le package pour Raspberry Pi n'est pas ici, mais il semble dire qu'il peut être téléchargé à partir de piwheels. Alors, jetons un œil à la page piwheels. <piwheels opencv-python> https://www.piwheels.org/
Il y a une description du site au début.
piwheels is a Python package repository providing Arm platform wheels (pre-compiled binary Python packages) specifically for the Raspberry Pi, making pip installations much faster. Packages are natively compiled on Raspberry Pi 3 hardware using the Mythic Beasts Pi cloud.
\ <Google Traduction ...>
piwheels est un référentiel de packages Python qui fournit des roues de plate-forme Arm (packages Python binaires compilés) spécifiquement pour Raspberry Pi, ce qui accélère considérablement l'installation de pips. Le package est compilé nativement sur du matériel Raspberry Pi 3 à l'aide du cloud Mythic Beasts Pi.
Le fait est que c'est un service qui fournit des packages pour la tarte aux râpes. Divers. Il dit RaspberryPi3, mais j'ai pu l'installer avec 4.
La méthode d'installation d'opencv-python présentée sur cette page se trouve sur la page suivante. <piwheels opencv-python> https://www.piwheels.org/project/opencv-python/
À l'exception de la version d'opencv-python, la méthode d'installation est la même que celle de la page piwheel. Collez la commande dans le terminal Raspberry Pi et exécutez-la.
(Mettre à jour la liste des outils de gestion des packages et mettre à jour les packages installés)
sudo apt update
sudo apt upgrade
sudo pip install --upgrade pip
sudo apt install libavutil56 libcairo-gobject2 libgtk-3-0 libqtgui4 libpango-1.0-0 libqtcore4 libavcodec58 libcairo2 libswscale5 libtiff5 libqt4-test libatk1.0-0 libavformat58 libgdk-pixbuf2.0-0 libilmbase23 libjasper1 libopenexr23 libpangocairo-1.0-0 libwebp6
Méthode d'installation selon piwheel (cela n'a pas fonctionné.)
sudo pip3 install opencv-python
Une fois installé avec la commande ci-dessus, il n'a pas pu être importé, donc à la suite de l'enquête, il a été constaté qu'il peut être résolu en abaissant la version. (La version installée par la commande ci-dessus était 4.1.1.) Installez comme suit. (Cela a fonctionné.)
sudo pip3 install opencv-python==4.1.0.25
__ <Procédure 1> ~ <Procédure 3> sont tous décrits dans OpencvInstall.sh ci-dessous. __
□ Page de référence Pour les options de liaison entre OpenCV et Python de CMake, je me suis référé à la page officielle d'OpenCV pour l'installation pour Linux. <OpenCV Installation in Linux> https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
Je me suis référé à cette page pour la bibliothèque à installer. <Construction d'OpenCV dans l'environnement Linux Github> https://github.com/atinfinity/lab/wiki/Linux%E7%92%B0%E5%A2%83%E3%81%A7%E3%81%AEOpenCV%E3%83%93%E3%83%AB%E3%83%89
J'ai évoqué les options de CMake. \ <8ème développement d'OpenCV pour la première personnalisation d'OpenCV à l'aide de CMake [OpenCV 3.1.0]> https://www.atmarkit.co.jp/ait/articles/1704/10/news134.html
OpencvInstall.sh
#Mise à jour de l'outil de gestion des packages (apt-Assurez-vous de le faire lors de l'installation avec get. )
sudo apt-get -y update
sudo apt-get -y upgrade
#Téléchargez la bibliothèque en vous référant à la page Github
#Outils de développement
sudo apt-get -yV install build-essential
sudo apt-get -yV install cmake
#Fonctionnement de la matrice
sudo apt-get -yV install libeigen3-dev
#Lié au framework GUI
sudo apt-get -yV install libgtk-3-dev
sudo apt-get -yV install qt5-default
sudo apt-get -yV install libvtk7-qt-dev
sudo apt-get -yV install freeglut3-dev
#Traitement parallèle lié
sudo apt-get -yV install libtbb-dev
#Lié au format d'image
sudo apt-get -yV install libjpeg-dev
sudo apt-get -yV install libopenjp2-7-dev
sudo apt-get -yV install libpng++-dev
sudo apt-get -yV install libtiff-dev
sudo apt-get -yV install libopenexr-dev
sudo apt-get -yV install libwebp-dev
#Vidéo liée
sudo apt-get -yV install libavresample-dev
#Autre
sudo apt-get -yV install libhdf5-dev
#Lié à Python
sudo apt-get -yV install libpython3-dev
sudo apt-get -yV install python3-numpy python3-scipy python3-matplotlib
#Installer git (utilisé lors du téléchargement de la source)
sudo apt-get -y install git
#Télécharger la source
cd /usr/local
sudo mkdir opencv4
cd /usr/local/opencv4
sudo git clone https://github.com/opencv/opencv.git
sudo git clone https://github.com/opencv/opencv_contrib.git
#Création d'un répertoire pour la construction (Il est recommandé de créer un répertoire de construction et de le construire.)
cd opencv
sudo mkdir build
cd build
#Construire
#En gros, je me suis référé à la page officielle d'OpenCV.
sudo cmake \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=/usr/local/opencv4/opencv_contrib/modules \
PYTHON3_EXECUTABLE=/usr/lib/python3.7 \
PYTHON_INCLUDE_DIR=/usr/include/python3.7 \
PYTHON_INCLUDE_DIR2=/usr/include/arm-linux-gnueabihf/python3.7m \
PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \
PYTHON3_NUMPY_INCLUDE_DIRS =/usr/lib/python3/dist-packages/numpy/core/include \
-S /usr/local/opencv4/opencv
sudo make -j7
sudo make install
Exécutez la commande suivante sur le terminal, et si vous n'obtenez pas une importError lorsque vous définissez ʻimport cv2`, c'est OK.
#Démarrer l'interprète
python3
#importer
import cv2
#Vérification de la version d'OpenCV
cv2.__version__
#Sortie de l'interprète
exit()
Après avoir activé la caméra (vous pouvez la définir depuis Paramètres Raspberry Pi> Interface> Caméra), essayez d'exécuter ce programme. Si OpenCV est en cours d'exécution, vous devriez voir une fenêtre montrant l'image de la caméra (si vous l'exécutez à l'aide d'un éditeur, vous pouvez voir une fenêtre derrière l'éditeur).
camera.py
import cv2
#numpy est nécessaire pour stocker les données d'image.
import numpy as np
def camera():
cap = cv2.VideoCapture(0)
isOpened = cap.isOpened()
if isOpened is False:
return
while True:
result, frame = cap.read()
if result is False:
return
#Affichage de l'image
cv2.imshow('camera', frame)
#Réception des entrées clés
key = cv2.waitKey(1)
#Touche de sortie (Quitter avec Entrée ou Echap)
if (key == 13) or (key == 27):
break
#Fin de la caméra
cap.release()
cv2.destroyAllWindows()
camera()
Bien qu'il soit open source, il y a deux points à noter. Veuillez vérifier la licence pour un usage commercial.
Les programmes qui utilisent le module principal d'OpenCV peuvent être librement utilisés, modifiés et redistribués, mais les informations de copyright et la licence doivent être affichées à ce moment-là.
\
Il y avait un article très facile à comprendre sur les licences, alors jetez un œil ici.
\
Vous pouvez le vérifier à partir du téléchargement sur la page officielle.
\
\ <modules utilisant github opencv-contrib / surf> https://github.com/opencv/opencv_contrib/tree/master/modules/xfeatures2d
Merci d'avoir lu jusqu'ici. Si vous le trouvez utile ou l'avez installé, veuillez m'en donner un joli (LGTM) m (_ _ m) Aussi, si vous avez des suggestions, nous vous serions reconnaissants de bien vouloir nous contacter!
Recommended Posts