Projet Caméra INSA 2019


Installation des dépendances

Installation d'OpenCV4

OpenCV4 permet la détection de mouvement d'objet.

Installation des dépendances d'OpenCV4

sudo apt-get update && sudo apt-get upgrade

Installez les outils de développement (CMake) :

sudo apt-get install build-essential cmake unzip pkg-config

Installez les bibliothèques d'images et de vidéos :

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev

Installez une interface graphique utilisateur backend (GTK) :

sudo apt-get install libgtk-3-dev

Installez un paquet pour GTK :

sudo apt-get install libcanberra-gtk*

Installez deux paquets qui contiennent des optimisations numériques pour OpenCV4 :

sudo apt-get install libatlas-base-dev gfortran

Installez Python 3 :

sudo apt-get install python3-dev

Téléchargement d'OpenCV4 pour la Raspberry Pi

Naviguez jusqu'au dossier Home de votre Rapsberry Pi.

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.0.0.zip
unzip opencv.zip
unzip opencv_contrib.zip

Renommez les répertoires :

mv opencv-4.0.0 opencv
mv opencv_contrib-4.0.0 opencv_contrib

Configuration de l'envrionnement virtuel de Python 3 pour OpenCV4

Installez un Python Paquet Manager, pip :

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

Installez virtualenv et virtualenvwrapper pour un environnement virtuel Python :

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip

Modifiez ~/.profile :

echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile

Vous pouvez aussi le modifier avec vim ou nano (un éditeur de texte du terminal).

source ~/.profile

Créez l'environnement virtuel OpenCV4 + Python 3 :

mkvirtualenv cv -p python3

Vérifiez que vous êtes bien dans l'environnement cv :

workon cv

Installez le paquet Python prérequis pour OpenCV, NumPy :

pip install numpy

CMake et compilation d'OpenCV4

cd ~/opencv
mkdir build
cd build

Exécution CMake pour OpenCV4 :

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D BUILD_EXAMPLES=OFF ..

Vérifiez que dans le Terminal vous avez Non-free alorithms: YES.
Dans Python 3 :
Interpreter: .../.virtualenvs/cv/...
numpy: .../.virtualenvs/cv/...
Compilation d'OpenCV4 :

make -j4

Si des erreurs apparaissent vous pouvez seulement faire make.
Installation d'OpenCV4 :

sudo make install
sudo ldconfig

Reliez OpenCV4 à votre environnement virtuel Python 3

Créez un lien symbolique depuis l'installation d'OpenCV4 dans le répertoire system site-packages vers votre environnement virtuel :

cd ~/.virtualenvs/cv/lib/python3.5/site-packages/
ln -s /usr/local/python/cv2/python-3.5/cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so

Lancement d'OpenCV4

OpenCV4 fonctionne sur un environnement virtuel. Pour y accéder utilisez les commandes suivantes :

source ~/.profile
workon cv

Installation de Flask

Flask est un microframework pour des applications web Python, pour le routage d'URL de site.
pip install flask

Installation de PiCamera

PiCamera est un paquet qui permet d'avoir une interface pour le module caméra Raspberry Pi pour Python 3.
pip install picamera

Installation Imutils

Imutils est une série de fonctions de traitement d'images plus simple pour OpenCV4 et Python 3.
pip install imutils

Installation Flask-BasicAuth

Flask-BasicAuth est une extension Flask qui permet de protéger une page web grâce à une authentification par accès de base HTTP.
pip install Flask-BasicAuth
Télécharger le code du projet : lien du zip

Sommaire

  1. Présentation du projet
  2. Présentation du matériel
  3. Présentation de la Raspberry Pi
  4. Configuration de la Raspberry Pi
  5. Installation des dépendances
  6. Personnalisation du programme
  7. Lancement du programme
  8. Réalisations supplémentaires
  9. Documents supplémentaires
  10. Vidéo de test
  11. GitHub
  12. Chaine Youtube

Contact
©2019 - Crédit