Processing est un langage de programmation open source qui permet aux utilisateurs de créer des interfaces graphiques interactives pour le système Arduino. Il offre une variété de fonctionnalités qui permettent aux utilisateurs de créer des applications et des jeux complexes et intuitifs. Grâce à sa facilité d’utilisation et à sa flexibilité, Processing est devenu un outil populaire pour les développeurs et les artistes qui souhaitent créer des applications et des jeux pour le système Arduino. Dans cet article, nous allons examiner en détail les fonctionnalités de Processing et comment elles peuvent être utilisées pour créer des applications et des jeux pour le système Arduino.
Processing interface graphique programmable côté PC pour le système Arduino.
IMPORTANT : Bien qu’utile en phase d’initiation à la programmation d’interfaces graphiques, j’estime que Processing montre vite ses limites dès lors que l’on souhaite réaliser de vraies interfaces graphiques système (ou GUI). D’autre part, Processing est trop gourmand en ressources système et est inutilisable sur une plateforme telle que le RaspberryPi, pcDuino ou autre mini-PC. J’utilise donc à présent et je conseille d’utiliser plutôt le langage Python associé à la librairie graphique Qt. Tout en offrant les mêmes fonctionnalités que Processing (réseau, série, OpenCV, OpenGL, etc..), cette solution de niveau professionnel, libre, multi-plateforme et mature s’avère bien plus puissante sous bien des aspects. C’est également un apprentissage ayant une portée bien plus polyvalente que Processing. Voir ma rubrique dédiée : Développer avec Python
X. HINAULT – Avril 2013
L’interface graphique programmable Processing, véritable « couteau suisse logiciel », écrite en Java (multiplateforme donc…) par le MIT, libre et opensource, donne la possibilité de créer des interfaces graphiques côté PC pour communiquer avec le système Arduino. On peut ainsi commander à la souris ou au clavier la carte Arduino ou bien afficher sur le PC des graphiques à partir des données reçues depuis la carte Arduino. Processing permet également de réaliser de la capture vidéo, du traitement d’image, des applications réseau serveur ou client, de la lecture de son, de la reconnaissance vocale… !! Cette interface utilise un langage dédié facile à prendre en main. Que du bon… et même du très très bon !
- dans la dernière version de Processing 1-5, les librairies sont à mettre dans le répertoire /processing/modes/java/libraries/ au lieu du classique /processing/libraries/
- Pour la communication série avec Processing sous Ubuntu, voir : Infos techniques utiles Processing
1. Découvrir Processing
- Site officiel : http://processing.org/
- Télécharger Processing : http://processing.org/download/
- Installer l’interface graphique Processing sous Linux Ubuntu
- Présentation du logiciel Processing
- Utiliser un programme d’exemple
- Processing pour le Web : Processing JS
2. Le langage Processing
- La référence en ligne du langage Processing : http://processing.org/reference/
- Apprendre à utiliser Processing : http://processing.org/learning/
- Ma référence Processing en français
3. Graphismes avec Processing

3.1 Tracé de courbe avec Processing
3.2 Grapheurs avec interfaces GUI
- dans la dernière version de Processing 1-5, les librairies sont à mettre dans le répertoire /processing/modes/java/libraries/ au lieu du classique /processing/libraries/
- Pour la communication série avec Processing sous Ubuntu, voir : Infos techniques utiles Processing
- Interface oscilloscope simple utilisant port Série (80% écran – échelle Y= 0-1023)
- Interface oscilloscope simple utilisant port Série (80% écran – échelle Y= 0-1023) avec fenêtre de contrôle TOP !
- Oscilloscope angulaire simple de 0 à 180° – échelle 0-1024 TOP !
- Oscilloscope multivoies – échelle 0-1024 – avec contrôle commun TOP !
- Oscilloscope multivoies – échelle 0-1024 – avec contrôles pour chaque voie Le Must !
4. Interface GUI avec Processing

4.1 Mes programmes Processing : grapheurs avec interfaces graphiques
- Interface oscilloscope simple utilisant port Série (80% écran – échelle Y= 0-1023)
- Interface oscilloscope simple utilisant port Série (80% écran – échelle Y= 0-1023) avec fenêtre de contrôle TOP !
- Oscilloscope angulaire simple de 0 à 180° – échelle 0-1024 TOP !
- Oscilloscope multivoies – échelle 0-1024 – avec contrôle commun TOP !
- Oscilloscope multivoies – échelle 0-1024 – avec contrôles pour chaque voie Le Must !
4.2 Interface graphique GUI ControlP5 :
Contrôles de base de l’interface graphique GUI ControlP5 :
Sliders (réglages linéaires) :
Boutons graphiques :
Champs Texte :
Interface GUI ControlP5 et librairie Video openCV
Interface GUI ControlP5 et PImage
- Régler les paramètres d’une image à l’aide de Sliders
- Mixer les canaux RVB d’une image (à la façon de l’outil GIMP « mixeur de canaux » ) à l’aide de Sliders
Interface GUI controlP5 et sons (Minim)
5. Communication Série avec Processing
- Infos techniques utiles Processing
- Saisir une chaîne dans un champ texte et l’envoyer vers le port Série
6. Utilisation du texte avec Processing
6.1 En mode console texte
6.2 En mode graphique
7. Gestion des fichiers et répertoires avec Processing

Datalogging texte
- Enregistrer des données à intervalle régulier dans un fichier texte
- Enregistrer la position de la souris à intervalle régulier dans un fichier texte
Datalogging Image
- Capturer et enregistrer une image par contrôle clavier
- Capturer et enregistrer des images en rafale à intervalle régulier par contrôle clavier
- Capturer et enregistrer une image modifiée par traitement d’image par contrôle clavier
Datalogging Vidéo
Datalogging Son
8. Ligne de commande programmée avec Processing (Gnu/Linux Ubuntu)

- Lancer Firefox depuis un bouton graphique
- Obtenir l’adresse IP de l’interface wifi
- Synthèse vocale avec Espeak depuis Processing : annonce de l’adresse IP de l’interface wifi et éthernet du système (Ubuntu) (GLAP-Box)
9. Les entrées souris et clavier avec Processing
10. Les sons et synthèse vocale avec Processing
10.1 Ressources
- Liens utiles et présentation de la librairie Minim
- Programme minimum pour la librairie Minim
- Ma référence pour la librairie Minim
- Quelques sources de sons sympa :
- Pour des sons de r2d2 à la demande, voir le http://www.r2d2translator.com/
10.2 Mes programmes Processing utilisant les sons
Il y 3 façons différentes de générer des sons à partir de Processing :
- Soit en utilisant la librairie Minim (utilise Javasound) – pas utilisable avec synthese vocale – multi-OS
- Soit en appelant mplayer par ligne de commande depuis Processing (simple et efficace !) – Ubuntu
- Soit en utilisant la synthèse vocale avec le logiciel espeak en ligne de commande (voix feminines/masculines, simple à utiliser ) – Ubuntu
Sons avec la librairie Minim
- Jouer un fichier son avec la librairie Minim
- Jouer un fichier son avec la librairie Minim à la réception d’une chaîne sur le port Série
Sons avec mplayer lancé en ligne de commande depuis Processing
- Jouer un fichier son avec Mplayer depuis Processing
- Jouer un fichier son avec Mplayer à la réception d’une chaîne sur le port Série
Synthèse vocale avec espeak lancé en ligne de commande depuis Processing
- Synthèse vocale avec Espeak depuis Processing
- Synthèse vocale avec Espeak depuis Processing à la réception d’une chaîne sur le port Série?
- Synthèse vocale avec Espeak depuis Processing : annonce de l’adresse IP de l’interface wifi du système (Ubuntu)
- Synthèse vocale avec Espeak depuis Processing : annonce de l’adresse IP de l’interface wifi et éthernet du système (Ubuntu) (GLAP-Box)
11. Reconnaissance vocale avec Processing
12. Traitement et analyse d’images avec Processing

- Ressources utiles
- Affichage multi-images en ligne/colonne dans une fenêtre Processing
- Analyse de l’image
- Gestion des canaux RGB d’une image
- Extraction du canal couleur voulu
- Mixeur de canaux RGB
- Gestion des images dans l’espace des couleurs HSB (Teinte (Hue) / Saturation / Brillance)
- Extraction des composantes voulues
- Prétraitement des images :
- Traitement d’extraction d’information utile de l’image
- Post-traitement :
- Seuillage
- Exemple de séquences de traitement et résultat
13. Vidéo avec Processing

13.1 Ressources
GSVideo (capture et lecture vidéo)
openCV (capture et reconnaissance visuelle) – obsolète – voir à présent : librairie javacvPro
- Installer la libairie de reconnaissance visuelle openCV pour Processing
- Ma référence pour la librairie OpenCV
- pleins de tutos intéressants : http://blog.damiles.com/?category_name=opencv-tutorials-}
- Infos sur les webcams sous Ubuntu :
Un petit truc bien utile sous Ubuntu : l’interface graphique « Video4Linux Device Preference » (paquet gtk-v4l) permet de régler l’image webcam même en cours d’utilisation avec Processing : pratique pour régler la luminosité ou autre.
13.2 Mes programmes Processing utilisant la capture vidéo simple
Capture vidéo avec la librairie GSVideo
- A la différence de la librairie vidéo native de Processing qui implémente QuickTime (propriétaire, non compatible Linux…), la librairie GSVideo, libre et opensource) implémente les mêmes fonctions mais en se basant sur GStreamer (libre et opensource) qui est disponible sous Linux.
- Cette librairie permet la capture vidéo à partir de 1 ou plusieurs webcams (à la différence de openCV qui ne supporte que 1 flux vidéo).
- Cette librairie est également beaucoup plus rapide et gère le multi-thread (à la différence de la capture vidéo avec openCV…).
- Encore mieux : couplée aux librairies GLGraphics et openGL, la librairie GSVideo gère les flux vidéos avec un gain CPU de plus de 25% par rapport à la librairie GSVideo seule (et un gain CPU de 75% quasiment par rapport à une capture avec openCV) !
- Enfin, tous les flux vidéos issus de la capture par la librairie GSVideo peuvent être traités secondairement avec les fonctions avancées de la librairie openCV, permettant ainsi le suivi d’objet multi-webcams !
1 webcam :
- Capture d’un flux vidéo avec GSVideo (beaucoup plus rapide que capture vidéo avec openCV Hypermédia)
- Capture d’un flux vidéo avec GSVideo et les librairies GLGraphics+OpenGL (économise CPU ? )
- Centrage de la webcam sur une cible carrée de taille connue
- Test simple de capture d’un flux vidéo à 100fps avec la webcam Eye PS3
Plusieurs webcams (multi-cam) :
J’ai personnellement réussi à utiliser GSVideo pour la capture de 8 flux vidéos webcam simultanément sous Ubuntu !
- Capture d’un double flux vidéo simultané
- Capture d’un triple flux vidéo
- Capture de 8 flux vidéos avec GSVideo
Capture vidéo avec GSVideo et traitement d’image avec la librairie OpenCV javacvPro
- Capture d’un flux vidéo avec GSVideo et traitement simple par OpenCV (javacvPro)
- Capture d’un triple flux vidéo avec GSVideo et traitement simple par OpenCV (javacvPro) des 3 flux vidéos
13.3 Datalogging Image et Vidéo
- Capturer et enregistrer une image par contrôle clavier
- Capturer et enregistrer des images en rafale à intervalle régulier par contrôle clavier
- Capturer et enregistrer une image modifiée par traitement d’image par contrôle clavier
- Capturer et enregistrer un flux vidéo par contrôle clavier
- Capture de 100 frames par seconde et visualisation au ralenti « slow motion »
PAGES D’ARCHIVES
Capture vidéo simple avec la librairie OpenCV hypermédia
Capture vidéo avec GSVideo et traitement d’image avec la librairie OpenCV hypermédia
- Capture d’un flux vidéo avec GSVideo et traitement simple par openCV
- Capture d’un triple flux vidéo avec GSVideo et traitement simple par openCV des 3 flux vidéos
14. Reconnaissance visuelle et suivi d’objet avec Processing


Ressources
14.1 L’ESSENTIEL :
GSVideo (capture et lecture vidéo)
Ma librairie javacvPro : implémentation pour Processing de la librairie openCV 2.3.x (utilise javacv) NOUVEAU!
14.2 Pour mémoire :
javacv : implémentation java de la librairie openCV
- Discussion de l’intérêt de javacv versus librairie OpenCV pour Processing
- Installation de javacv pour utilisation avec Processing
librairie openCV « hypermedia » (capture et reconnaissance visuelle) – obsolète : voir à présent Javacvpro –
- Installer la libairie de reconnaissance visuelle openCV pour Processing
- Ma référence pour la librairie OpenCV
- pleins de tutos intéressants : http://blog.damiles.com/?category_name=opencv-tutorials
Codes Processing utilisant les fonctions de ma librairie Processing javacvPro (OpenCV 2.3.x)

14.3 Présentation
- La dernière version de ma librairie JavacvPro est ici : Ma librairie OpenCV : la librairie javacvPro. Cette librairie implémente dès à présent près de 70 fonctions opérationnelles et je l’enrichis progressivement.
- Installation : Voir : Ma librairie OpenCV : la librairie javacvPro.
14.4 Exemples d’utilisation de base.
14.5 Traitement d’image « statique » : Les programmes d’exemple de la référence.
Traitement d’image de base |
Traitement d’image avancé Traitement entre 2 images |
Extraction de contours Détection objet/visage |
Détection de formes Analyse avancée de formes |
14.6 Traitement d’image en direct d’un ou plusieurs flux vidéos issus d’une ou plusieurs webcams avec la librairie GSVideo (capture vidéo) et ma librairie OpenCV javacvPro pour Processing (reconnaissance visuelle)
Traitements simples
Reconnaissance et suivi de visage
Suivi d’objet coloré
Détection et suivi d’une balle colorée
- Sur un flux vidéo
- Capture d’un flux vidéo avec GSVideo et reconnaissance de balle par traitement d’image et reconnaissance visuelle avec ma librairie JavacvPro (0penCV sous Processing) (dans l’espace couleur RGB)
- Suivi de balle avec ma librairie JavacvPro (0penCV sous Processing) : réalisation d’un « Joystick » virtuel (RGB)
- Suivi de balle colorée : réalisation d’un clavier virtuel (RGB)
- Sur plusieurs flux vidéos
Détection de plusieurs balles colorées
- Comptage de balles de la même couleur avec annonce vocale du résultat? Ubuntu (RGB)
- Détection et comptage de balles de couleurs différentes avec annonce vocale du résultat? Ubuntu (RGB)
Divers
- Test de détection d’une balle colorée basé sur une analyse colorimétrique dans l’espace HSV
Codes de Mécatronique utilisant la reconnaissance visuelle
Tests techniques
1 tourelle Pan
-
- Suivi de balle par une webcam fixée sur une tourelle pan contrôlée par 1 servomoteur ( rapide – utilise librairie GSVideo pour la capture video et reconnaissance visuelle par ma librairie JavacvPro (0penCV sous Processing) )
- Suivi de marker ARToolkit miniature par une tourelle Pan
2 tourelles Pan (2 servomoteurs)
-
- Suivi de balle colorée par 2 tourelles Pan
1 tourelle Pan-Tilt (2 servomoteurs)
-
- Suivi de balle par une webcam fixée sur une tourelle pan/tilt contrôlée par 2 servomoteur? ( rapide – utilise librairie GSVideo pour la capture video et reconnaissance visuelle par ma librairie JavacvPro (0penCV sous Processing) )
- Suivi de marker ARToolkit miniature par une tourelle Pan/Tilt
- Tracking de visage avec une tourelle pan-tilt par reconnaissance visuelle de visage
2 tourelles Pan-Tilt (4 servomoteurs)
-
- Vision binoculaire : Suivi de balle par 2 webcams fixées chacune sur une tourelle pan contrôlée chacune par 1 servomoteur? (rapide – utilise librairie GSVideo pour la capture video et reconnaissance visuelle par ma librairie JavacvPro (0penCV sous Processing) )
- Suivi de balle colorée par 2 tourelles Pan/Tilt
Bras robotisé
Reconnaissance et suivi d’objet
Recherche de concordance entre une image objet et une image scène
- Test de l’algorithme SURF sur un flux vidéo
Voir également : ARToolkit : réalité augmentée et 3D positionning avec Processing
Techniques de soustraction du fond
- Voir aussi : Stratégies pour la soustraction du fond
Approche simplifiée
- JavacvPro : Soustraction du fond sur un flux vidéo webcam par différence absolue
- Soustraction du fond d’un flux vidéo par différence absolue avec mémorisation de n frames du fond
- Soustraction du fond d’un flux vidéo par différence absolue frame à frame (détection de mouvement)
Approche avancée
- Soustraction du fond par algorithme opencCV « Mixure Of Gaussian » (MOG)
- Soustraction du fond par algorithme opencCV « Mixure Of Gaussian » version2 (MOG2)
Détection et suivi de la main et des doigts
Détection de la main et des doigts
- Sur fond uni :
- Processing GSVideo + openCV avec javacvPro : Capture d’un flux webcam par GSVideo et détection de la forme de la main sur un fond uni
- Processing GSVideo + openCV avec javacvPro : Capture d’un flux webcam par GSVideo, détection de la forme de la main sur un fond uni et affichage des « creux » (convexity defect) du contour. TOP!
- Processing GSVideo + openCV avec javacvPro : Capture d’un flux webcam par GSVideo, détection de la forme de la main sur un fond uni et sélection des « creux » significatifs (convexity defects) TOP!
- Processing GSVideo + openCV avec javacvPro : Capture d’un flux webcam par GSVideo, détection de la forme de la main sur un fond uni, sélection des « creux » significatifs (convexity defects), analyse de la position des doigts et annonce vocale du chiffre correspondant TOP!
- Sur fond quelconque :
- Détection de la main par soustraction d’un fond varié
- Détection de la main par soustraction « frame à frame » (Détection de mouvement)
- Par segmentation de la peau :
- Détection de la main par segmentation de la peau (résultat médiocre)
Approche simplifiée de la détection des doigts
- Détection simplifiée de l’index tendu, de l’auriculaire et du pouce ouverts?
- « Souris virtuelle » à l’aide d’une simple webcam et d’une feuille de papier. ( utilise classe Java Robot)
Suivi de la main et des doigts
- Clavier numérique virtuel (utilise soustraction de fond)
- Détection et suivi de la position des 5 doigts de la main (détection de contour et analyse de courbure de forme)
- Application « paint » contrôlée par la main
- Processing GSVideo + openCV avec javacvPro : Capture d’un flux webcam par GSVideo, détection de la forme de la main sur un fond uni, sélection des « creux » significatifs (convexity defects), analyse de la position des doigts et annonce vocale du chiffre correspondant TOP!
- Détection de forme de lettres et annonce vocale du résultat
Divers
- Détection main par IR
- Suivi mouvement oculaire
- Suivi pointeur laser
- Détection / suivi des carreaux de carrelage (sol)
- Détection de portes
PAGES D’ARCHIVES
Codes de Mécatronique utilisant la reconnaissance visuelle
1 tourelle Pan-Tilt
-
- Suivi de balle par une webcam fixée sur une tourelle pan contrôlée par 1 servomoteur V1 (utilise la librairie openCV pour la capture vidéo et la reconnaissance visuelle)
- Suivi de balle par une webcam fixée sur une tourelle pan contrôlée par 1 servomoteur V2 (beaucoup plus rapide – utilise librairie GSVideo pour la capture video et reconnaissance visuelle par librairie openCV)
2 tourelles Pan-Tilt
-
- Vision binoculaire : Suivi de balle par 2 webcams fixées chacune sur une tourelle pan contrôlée chacune par 1 servomoteur (rapide – utilise librairie GSVideo pour la capture video et reconnaissance visuelle par librairie openCV)
Bras robotisé
Avec la librairie OpenCV « hypermedia » pour Processing seule (capture vidéo + reconnaissance visuelle)
- Suivi de balle avec OpenCV (RGB)
- Suivi de balle avec OpenCV (version 2) avec amélioration de la détection de la forme de la balle (RGB)
- Suivi de balle avec OpenCV et calcul des coordonnées du centre de la balle (RGB)
- Suivi de balle avec OpenCV : réalisation d’un « Joystick » virtuel? (RGB)
Avec librairie GSVideo (capture vidéo) et librairie OpenCV « hypermedia » pour Processing (reconnaissance visuelle)
14.7 Suivi d’objet coloré
Détection et suivi d’une balle colorée
- Capture d’un flux vidéo avec GSVideo et reconnaissance de balle par traitement d’image et reconnaissance visuelle avec openCV (dans l’espace couleur RGB)
- Capture d’un triple flux vidéo (webcams x3) avec GSVideo et reconnaissance de de balle sur chaque flux vidéo par traitement d’image et reconnaissance visuelle avec openCV (RGB)
- Suivi de balle avec OpenCV : réalisation d’un « Joystick » virtuel? (RGB)
- Suivi de balle colorée : réalisation d’un clavier virtuel (RGB)
Détection de plusieurs balles colorées
- Comptage de balles de la même couleur avec annonce vocale du résultat Ubuntu (RGB)
- Détection et comptage de balles de couleurs différentes avec annonce vocale du résultat Ubuntu (RGB)
Divers
- Test de détection d’une balle colorée basé sur une analyse colorimétrique dans l’espace HSV
14.8 Reconnaissance et suivi de visage
- Capture d’un flux vidéo avec GSVideo et test simple reconnaissance de visage par traitement d’image avec openCV
- Tracking de visage avec une tourelle pan-tilt par reconnaissance visuelle de visage
14.9 Détection et suivi de la main et des doigts
Détection de la main et des doigts
- Processing GSVideo + openCV : Capture d’un flux webcam par GSVideo et détection de la forme de la main sur un fond uni (avec traçage progressif du contour)
- Détection de la main par soustraction du fond
- Détection de la main par soustraction « frame à frame » (Détection de mouvement)
- Détection de la main par segmentation de la peau (résultat médiocre)
Approche simplifiée de la détection des doigts
- Détection simplifiée de l’index tendu, de l’auriculaire et du pouce ouverts
- « Souris virtuelle » à l’aide d’une simple webcam et d’une feuille de papier. ( utilise classe Java Robot)
Suivi de la main et des doigts
- Clavier numérique virtuel (utilise soustraction de fond)
- Détection et suivi de la position des 5 doigts de la main (détection de contour et analyse de courbure de forme)
- Application « paint » contrôlée par la main
- Analyse du positionnement des doigts et annonce vocale du résultat numérique correspondant
- Détection de forme de lettres et annonce vocale du résultat
14.10 Divers
- Détection main par IR
- Suivi mouvement oculaire
- Suivi pointeur laser
- Détection / suivi des carreaux de carrelage (sol)
- Détection de portes
Codes Processing utilisant les fonctions javacv « in-line »
14.11 Les objets fondamentaux « statiques » d’OpenCV
Objet IplIMage (conteneur d’image natif OpenCV)
- Utiliser l’objet IplImage (conteneur d’image OpenCV) dans Processing
- Redimensionner un objet IplImage (conteneur d’image OpenCV) dans Processing
- Charger la même valeur dans tous les pixels un objet IplImage (conteneur d’image OpenCV) dans Processing
- Convertir un objet IplImage 16SC3 (16 bits signés – 3 canaux) en un objet IplImage 8UC3 (8 bits non signé – 3 canaux)
- Multiplier tous les pixels d’un objet IplImage 8UC3 (8 bits non signé – 3 canal) par une valeur (idem ou différente pour les différents canaux)
- Convertir un objet IplImage RGB en un IplImage en niveaux de gris
- Appliquer un seuillage sur un IplImage
- Extraire les canaux RGB d’un IplImage et reconstruire l’IplImage à partir des canaux RGB indivuels
- Récupérer les valeurs d’un pixel d’un IplImage
- Modifier la valeur d’un pixel d’un IplImage
- Inverser les pixels d’une IplImage
- Récupérer un IplImage dans un ByteBuffer
- Transférer un IplImage vers un PImage
- Inversement, transférer un PImage vers un IplImage
- Test des temps de transfert d’un IplImage dans un PImage et vice-versa.
- Conversion d’un IplImage d’un type dans un autre type.
Filtrage d’image simples
Objet CvMat (Matrice 1 à n Dimensions).
- Déclarer et initialiser un objet CvMat
- CvMat et utilisation d’une Look-Up Table (LUT)
- CvMat et utilisation d’un noyau de convolution personnalisé
- CvMat et utilisation d’un noyau de convolution : réalisation d’un filtre de Sobel
14.12 Les objets fondamentaux « dynamiques » d’OpenCV
Détection de contours
- Détecter les contours d’une image (cvFindContours puis cvDrawContours)
- Récupérer les données du contour à partir du CvSeq
14.13 Techniques et stratégies utiles
Techniques de soustraction du fond
Approche simplifiée
Approche plus avancée
15. Communications Serveur/Client avec Processing
16. Mathématique avec Processing
17. 3D avec Processing
18. ARToolkit : réalité augmentée et 3D positionning avec Processing
Introduction
ARToolkit : mes codes Processing de réalité augmentée
Premiers essais
- ARToolkit avec Processing : Premier test de réalité augmentée : les boites 3D
- ARToolkit avec Processing : 2ème test de réalité augmentée : « les montagnes 3D » sur flux vidéo
- ARToolkit avec Processing : 3ème test de réalité augmentée : cube RGB en lévitation sur flux vidéo
Mes codes de réalité augmentée
- ARToolkit avec Processing : Test simple de la détection d’un marker à partir d’un flux vidéo webcam
- ARToolkit avec Processing : remplacement du marker par une image en live sur un flux vidéo webcam et détection du repère 3D du marker
- ARToolkit avec Processing : remplacement du marker par une vidéo active, en live sur un flux vidéo webcam !
ARToolkit : mes codes Processing pour suivi par webcam
- ARToolkit avec Processing : Détection du centre et du type d’un marker à partir d’un flux vidéo webcam
- ARToolkit avec Processing : Détection du centre et du type de 2 markers à partir d’un flux vidéo webcam et tracé d’une ligne virtuelle
- ARToolkit avec Processing : Asservissement d’une webcam Pan sur le centre d’un marker détecté à partir d’un flux vidéo webcam
- ARToolkit avec Processing : Asservissement d’une webcam Pan/Tilt sur le centre d’un marker détecté à partir d’un flux vidéo webcam
- ARToolkit avec Processing : Détection de la rotation dans l’axe Z d’un marker à partir d’un flux vidéo webcam
ARToolkit : mes codes Processing pour positionnement 3D en robotique
19. Animations avec Processing
20. Mes programmes Processing pour Arduino
Interface GUI vers Arduino
- Afficher le résultat d’une mesure analogique sous forme graphique sur le PC
- Grapheur de fonction Sinus (reçoit 600 valeurs en échelle 0/1023)
- Courbe de la déclinaison solaire (reçoit 365 valeurs en échelle -200/+200 avec quadrillage)
- Tracé d’un cercle calculé par Arduino (grapheur X-Y à partir valeur 32 bits – échelle 600 x 600 avec quadrillage paramétrable)
- Interface Vu-mètre p+/-
- Interface radar p+
- Interface Can graphique + affiche numérique p+
- Interface multitraces
- Interface pour comptage évènement par valeur… Gaussienne..
Articles similaires:
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.OUTILSJavacvCodesProcessingJavacvPro
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.OutilsProcessingVideo
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.OutilsProcessingRecoVisuelle
- GLAP-Box : Programme de test : Capture d’un flux vidéo dans un programme Processing à l’aide de la librairie GSVideo et détection +suivi d’un objet coloré (balle orangée) en direct à l’aide de la librairie openCV.
- GLAP-Box : Programme de test : Capture d’un flux vidéo dans un programme Processing à l’aide de la librairie GSVideo et traitement d’image en direct à l’aide de la librairie openCV.
Articles Liés
- Processing GSVidéo + JavacvPro :
Processing est un langage de programmation open source qui permet aux développeurs de créer des…
- Affichage du résultat de la mesure de 3 voies analogiques sous forme graphique dans une interface Processing.
L'affichage graphique des résultats de mesures analogiques est un outil précieux pour les scientifiques et…
- EXPERT : ARDUINO : LCD Graphique
Arduino est une plateforme de prototypage électronique open source qui permet aux utilisateurs de créer…