Import des fichiers : Modifications qui seront validées : nouveau fichier : MOT20-02.mp4 nouveau fichier : README.md nouveau fichier : autoinstall.sh nouveau fichier : autostart.sh nouveau fichier : checking-camera.py nouveau fichier : main.py nouveau fichier : models/yolo11n.pt nouveau fichier : models/yolo12n.pt nouveau fichier : requirements.txt nouveau fichier : track/botsort.yaml nouveau fichier : track/bytetrack.yaml
101 lines
3.0 KiB
Markdown
101 lines
3.0 KiB
Markdown
# Vision par ordinateur (Édition Python)
|
|
|
|
---
|
|
|
|
## Prérequis
|
|
|
|
- Ordinateur fixe ou portable, architecture de processeur x86/AMD64
|
|
- Système d'exploitation Linux
|
|
- Python 3.13.2
|
|
|
|
```bash
|
|
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
|
|
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
|
|
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
|
|
libffi-dev liblzma-dev tk-dev libncurses5-dev libncursesw5-dev
|
|
|
|
# Où
|
|
|
|
sudo dnf install gcc zlib-devel bzip2 bzip2-devel readline-devel \
|
|
sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel \
|
|
findutils tk-devel ncurses-devel
|
|
```
|
|
```bash
|
|
curl -fsSL https://pyenv.run | bash
|
|
|
|
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
|
|
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
|
|
echo 'eval "$(pyenv init - bash)"' >> ~/.bashrc
|
|
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
|
|
|
|
pyenv install 3.13.2
|
|
cd répertoire/du/projet
|
|
pyenv local 3.13.2
|
|
```
|
|
|
|
---
|
|
Créer un environnement virtuel Python.
|
|
```bash
|
|
python -m venv venv
|
|
```
|
|
Activer l'environnement virtuel au terminal courant.
|
|
```bash
|
|
source venv/bin/activate
|
|
```
|
|
Mettre à jour Pip (pour éviter les erreurs d'installation de librairies).
|
|
```bash
|
|
pip install --upgrade pip
|
|
```
|
|
Installer les librairies nécessaires au déroulement du programme.
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
Exécuter le dialogue d'aide sur le programme principale.
|
|
```bash
|
|
> python main.py --help
|
|
usage: main.py [-h] [-i INPUT] [-o OUTPUT] [-f] [-u API_URL] [-m MODELNAME] [-v]
|
|
|
|
options:
|
|
-i, --input INPUT Chemin vers la vidéo à lire ('0' est à utiliser pour la webcam par défaut)
|
|
-o, --output OUTPUT Emplacement pour enregistrer le processus dans une vidéo (Attention au RGPD, désactivé si aucun)
|
|
-f, --force Forcer le redimensionnement du flux d'entrée.
|
|
-u, --api-url API_URL
|
|
Chemin réseau vers l'API (désactivé si aucun)
|
|
-m, --model MODELNAME
|
|
Nom complet (ou chemin) du modèle de détection à utiliser
|
|
-v, --verbose Activer la sortie verbeuse du programme.
|
|
```
|
|
|
|
---
|
|
|
|
## Démarrage automatique
|
|
|
|
Dans le répertoire source du projet, il y a un script bash permettant l'installation et le démarrage automatique.
|
|
Il faut d'abord essayer le programme manuellement (avec les instructions précédentes). Si le programme est satisfaisant, le script d'auto-installation est pertinent.
|
|
|
|
Exécuter le script
|
|
```bash
|
|
./auto-install.sh
|
|
```
|
|
|
|
Le script propose quels paramètres sont à activer automatiquement (pour l'exécution à l'ouverture de la session)
|
|
```bash
|
|
> ./autoinstall.sh
|
|
Voulez-vous indiquer un flux d'entrée ? (oui/non): oui
|
|
Entrez la valeur d'entrée : 4
|
|
Voulez-vous une verbosité accrue ? (oui/non): non
|
|
Voulez-vous forcer le redimenssionnement de l'image ? (oui/non): oui
|
|
Voulez-vous renseigner l'URL de l'API ? (oui/non): oui
|
|
Entrez l'URL de l'API : http://localhost:1880
|
|
```
|
|
|
|
Redémarrer l'ordinateur hôte.
|
|
```bash
|
|
sudo reboot now
|
|
```
|
|
|
|
En cas d'erreurs ou de doutes, regarder la journalisation.
|
|
```bash
|
|
less ~/vision-par-ordinateur-python/main.log
|
|
```
|