Ursula's yiking installation: OpenCV code
Go to file
2024-12-16 21:39:20 +01:00
tests/images feat: adds color detection 2024-12-15 14:28:27 +01:00
.gitignore feat: v0.0.1 2024-12-08 20:45:57 +01:00
main.py feat: add black background 2024-12-15 18:42:19 +01:00
process.py feat: add public interface 2024-12-16 21:39:20 +01:00
public.py feat: add public interface 2024-12-16 21:39:20 +01:00
README.md feat: add public interface 2024-12-16 21:39:20 +01:00
requirements.txt feat: add public interface 2024-12-16 21:39:20 +01:00

Ursula Le Yiking

Todo

  • Utiliser une webcam en entrée
  • Créer une interface avec tkinter
  • Variabliser les tailles et couleurs via l'interface

Crash course

Lancer, avec une version Python >= 3.10 :

cd /tmp
git clone https://git.interhacker.space/protonphoton/yiking
cd yiking
python3 -m venv .venv
source .venv/bin/activate 
pip3 install -r requirements.txt

# Affiche l'interface pour le public
python3 public.py 

# Affiche l'interface opérateur
python3 main.py 

... devrait afficher une interface utilisateur.

Documentation Utilisateur : Paramètres OpenCV

L'interface graphique Yiking permet de contrôler divers paramètres pour un traitement d'image réalisé avec OpenCV. Voici une explication de chaque paramètre et son rôle dans l'algorithme de détection.


Paramètres OpenCV

1. maxDist

  • Description : Distance maximale entre les centres de deux cercles détectés.
  • Rôle : Permet de contrôler la densité des cercles détectés. Une valeur élevée empêche la détection de cercles trop proches.
  • Conseil : Augmentez cette valeur si trop de cercles se chevauchent.

2. param1

  • Description : Seuil supérieur pour le détecteur de bords (fonction Canny).
  • Rôle : Définit la sensibilité de la détection des bords dans l'image. Une valeur élevée capture uniquement les bords bien définis.
  • Conseil : Utilisez une valeur basse pour détecter plus de détails, mais avec plus de bruit.

3. param2

  • Description : Seuil pour le processus d'accumulation circulaire (HoughCircles).
  • Rôle : Détermine la robustesse de la détection des cercles. Une valeur élevée garantit que seuls les cercles bien définis seront détectés.
  • Conseil : Augmentez cette valeur pour réduire les faux positifs.

4. minRadius

  • Description : Rayon minimal des cercles détectés.
  • Rôle : Filtre les cercles dont le rayon est inférieur à cette valeur.
  • Conseil : Utilisez une valeur basse si vous souhaitez détecter de petits cercles.

5. maxRadius

  • Description : Rayon maximal des cercles détectés.
  • Rôle : Filtre les cercles dont le rayon dépasse cette valeur.
  • Conseil : Réglez cette valeur en fonction de la taille des cercles que vous recherchez.

6. color1_R_min, color1_R_max, color1_V_min, color1_V_max, color1_B_min, color1_B_max

  • Description : Couleur en (Rouge, Vert, Bleu) avec des valeurs minimales et maximales pour le filtrage par couleur.
  • Rôle : Définit un seuil bas et un seuil haut pour détecter uniquement les pixels correspondants à une certaine teinte.
  • Conseil : Ajustez ces valeurs pour isoler une couleur d'intérêt. Toute teinte en dehors de cette plage sera affectée à l'autre couleur.

Utilisation

  • Appuyer sur le bouton Run pour afficher une capture.
  • Utiliser les sliders de détection de forme jusqu'à obtention du résultat voulu.
  • Utiliser les valeurs (R, V, B) affichées pour les boules détectées pour définir la plage de couleur d'une couleur voulue.

Exemple

Source

Post traitement