Module Camera
Vous êtes ici dans la documentation du module Camera du robot.
Ce module permet de prendre des photos, d’y appliquer des filtres, reconnaissance par caméra (pas biométrique comme le visage, mais des dessins sur cartes).
Warning
Avant d’utiliser un module, il faudra toujours le lancer sinon il vous sera impossible d’utiliser le module et les méthodes lier à celui-ci.
Note
Il faut avoir demarrer le module fenêtre et l'avoir ouverte pour pouvoir utliser la méthode initialiser_module_camera
ou init_camera_module
.
Voir la documentation du module fenêtre pour plus d'informations.
Demmarer le module Camera
robot.initialiser_module_camera()
ou alors
robot.init_camera_module()
À partir de ce moment, l'objet camera est initialisé dans le robot, et est donc utilisable.
Note
La méthode initialiser_module_camera()
(ou init_camera_module()
) initialise l'objet camera dans le robot.
Afficher la caméra
Pour afficher la caméra, il suffit d'utiliser la méthode afficher_camera(position_x: int, position_y: int)
(fr) - display_camera(position_x : int, position_y : int)
(en).
Warning
Mettez cette méthode dans une boucle pour que l'image de la caméra soit actualisée et reste fluide.
Afficher la caméra
while robot.est_actif():
robot.afficher_camera(100, 100)
robot.fenetre.actualiser_affichage()
ou alors
while robot.is_active():
robot.display_camera(100, 100)
robot.window.refresh_display()
Note
La caméra affichée fait 640 pixels de long et 480 pixels de haut.
Prendre une photo
Pour prendre une photo, il suffit d'utiliser la méthode prendre_photo(nom_fichier: str)
(fr) - take_picture(file_name : str)
(en).
La photo sera enregistrée dans le dossier images
du robot.
Warning
Si le fichier existe déjà, il sera écrasé.
Prendre une photo
robot.prendre_photo("photo1")
ou alors
robot.take_picture("photo1")
Conseil
Il est conseillé de mettre un nom de fichier différent à chaque photo pour ne pas écraser les photos précédentes.
Declenché cette méthode par un bouton dans l'interface graphique.
Note
Voir la documentation du module fenêtre pour pouvoir afficher la photo prise.
L'image sera de la même taille que la caméra soit 640 pixels de long et 480 pixels de haut.
Appliquer un filtre
Pour appliquer un filtre à une photo, il suffit d'utiliser la méthode appliquer_filtre(chemin_fichier: str, nom_filtre: str)
(fr) - apply_filter(file_name : str, filter_name : str)
(en).
Voir la réference pour la liste complète des filtres
Warning
Le fichier sera écrasé par la photo avec le filtre appliqué.
Appliquer un filtre
robot.appliquer_filtre("/images/photo1.jpg", "cartoon")
ou alors
robot.apply_filter("/images/photo1.jpg", "cartoon")
Exemple complet
from pybot import Robot, Couleur
robot = Robot()
robot.initialiser_module_fenetre()
robot.fenetre.ouvrir_fenetre(1500, 1000)
robot.initialiser_module_camera()
boutons = robot.attributs.boutons
boutons.bouton_photo = robot.fenetre.creer_bouton(200, 50, 10, 10, Couleur.BLANC)
boutons.bouton_photo.ajouter_texte("prendre_photo", 10, 10, 20, Couleur.NOIR)
boutons.quitter = robot.fenetre.creer_bouton(100, 50, 10, 80, Couleur.BLANC)
boutons.quitter.ajouter_texte("quitter", 10, 10, 20, Couleur.NOIR)
while robot.est_actif():
boutons = robot.attributs.boutons
robot.verifier_evenements()
boutons.bouton_photo.afficher()
boutons.quitter.afficher()
if boutons.bouton_photo.est_actif():
robot.camera.prendre_photo("photo1")
robot.fenetre.afficher_image("/images/photo1.jpg", 10, 500)
robot.camera.appliquer_filtre("/images/photo1.jpg", "cartoon")
robot.fenetre.afficher_image("/images/photo1.jpg", 655, 500)
if boutons.quitter.est_actif():
robot.desactiver()
robot.camera.afficher_camera(300, 10)
robot.fenetre.actualiser_affichage()