API Lua : fonctions#
set_debug#
set_debug(boolean debug_on)
- Paramètres:
debug_on– Passez une valeur qui s’évalue soit à true (débogage activé), soit à false (débogage désactivé)- Valeurs de retour:
aucun
Activer ou désactiver le débogage. Lorsque le débogage est activé, la caméra tentera d’envoyer des informations de débogage textuelles et d’image sur le port série. Désactivez le débogage une fois qu’un programme est terminé afin d’améliorer les performances.
print#
Utilisation : print("a message") / print("one plus one is ", 1+1)
- Paramètres:
Passez autant de valeurs que souhaité.
- Valeurs de retour:
aucun
Fonction de débogage, utilisée pour afficher des valeurs. La CMUcam3 enverra toutes les valeurs passées à cette fonction au plug-in Eclipse CamScripter, où elles seront affichées dans la zone de console.
turn_on_led#
turn_on_led(integer led_number)
- Paramètres:
led_numberLe numéro de la LED de la CMUcam3 à allumer. 0, 1, 2 sont les seules valeurs autorisées.- Valeurs de retour:
aucun
Allumer l’une des LED de la CMUcam3.
turn_off_led#
turn_off_led(integer led_number)
- Paramètres:
led_numberLe numéro de la LED de la CMUcam3 à allumer. 0, 1, 2 sont les seules valeurs autorisées.- Valeurs de retour:
aucun
Éteindre l’une des LED de la CMUcam3.
take_picture#
take_picture()
- Paramètres:
aucun
- Valeurs de retour:
aucun
Prend une photo avec la CMUcam3 et charge la mémoire tampon d’image (pixbuf).
print_picture#
print_picture()
- Paramètres:
aucun
- Valeurs de retour:
aucun
Envoie via le port série l’image qui vient d’être prise pour l’afficher dans la fenêtre de débogage de CamScripter. Vous devez appeler take_picture avant d’appeler cette fonction - elle ne prend pas elle-même de photo.
save_picture#
save_picture(string filename)
- Paramètres:
filenameNom de fichier sous lequel essayer d’enregistrer l’image.- Valeurs de retour:
aucun
Enregistre l’image actuellement présente dans la mémoire tampon d’image sous le nom de fichier passé en argument. Le nom de fichier doit être un nom de fichier FAT16 valide <8.3>, sinon une erreur sera renvoyée. Si un fichier portant le nom de fichier donné existe déjà, il sera écrasé. Notez que cette fonction ne prend pas elle-même de photo - vous devez appeler take_picture avant d’appeler save_picture.
file_exists#
file_exists(string filename)
- Paramètres:
filename- Valeurs de retour:
booléen indiquant si le fichier existe
Teste s’il existe un fichier sur la carte MMC/SD portant le nom de fichier passé en argument.
camera_set_resolution#
camera_set_resolution(integer resolution)
- Paramètres:
resolutionLa nouvelle résolution pour la caméra- Valeurs de retour:
aucun
Définit la résolution de la CMUcam3. La résolution doit être soit high, soit low (voir les Camera Resolution Constants dans API Lua : constantes).
camera_set_colorspace#
camera_set_colorspace(integer space)
- Paramètres:
spaceLa nouvelle résolution pour la caméra, doit être soitCC3_COLORSPACE_YCRCB, soitCC3_COLORSPACE_RGB- Valeurs de retour:
aucun
Définit l’espace colorimétrique de la CMUcam3 sur YCRCB ou RGB (RGB est la valeur par défaut). Voir aussi API Lua : constantes.
wait#
wait(integer ms)
- Paramètres:
msLe nombre de millisecondes à attendre- Valeurs de retour:
aucun
Attend ms millisecondes.
pixbuf_set_coi#
pixbuf_set_coi(integer coi)
- Valeurs de retour:
aucun
Définit les canaux d’intérêt pour la caméra. Détermine quels canaux la caméra enregistre lors de la prise de photos. Définir de plus petites valeurs pour COI peut accélérer le traitement d’image. Les valeurs valides pour COI se trouvent dans les Channel of Interest Constants dans API Lua : constantes.
pixbuf_read_rows#
pixbuf_read_rows(image img, integer num_rows)
- Paramètres:
imgUn objet image dans lequel les lignes du pixbuf sont lues,num_rowsLe nombre de lignes à lire- Valeurs de retour:
Le nombre de rangées qui ont été lues avec succès
Copie num_rows rangées depuis la mémoire tampon d’image de la caméra (pixbuf) dans l’objet image passé en argument.
pixbuf_get_width#
pixbuf_get_width()
- Paramètres:
aucun
- Valeurs de retour:
La largeur du pixbuf en pixels
Obtient la largeur de la mémoire tampon d’image (pixbuf). La mémoire tampon d’image doit avoir été chargée avant cet appel en appelant soit take_picture, soit show_picture.
pixbuf_get_height#
pixbuf_get_height()
- Paramètres:
aucun
- Valeurs de retour:
La hauteur du pixbuf en pixels
Obtient la hauteur de la mémoire tampon d’image (pixbuf). La mémoire tampon d’image doit avoir été chargée avant cet appel en appelant soit take_picture, soit show_picture.
pixel_new#
pixel_new()
- Paramètres:
aucun
- Valeurs de retour:
Une nouvelle structure de données pixel
Crée et renvoie une nouvelle structure de données pixel. Consultez la documentation pixel pour des détails sur la structure. Voir aussi pixbuf_get_pixel et get_pixel pour l’utilisation de la structure pixel.
get_pixel#
get_pixel(pixel pxl, integer x, integer y)
- Paramètres:
pxlLa structure de données pixel dans laquelle stocker les valeurs de pixel.x,yLes coordonnées x et y du pixel à récupérer dans le tampon d’image.- Valeurs de retour:
aucun, les valeurs de pixel sont stockées dans l’objet pixel passé en argument
Obtient un unique pixel depuis la mémoire tampon d’image de la CMUcam3 (pixbuf). x et y doivent être respectivement inférieurs à pixbuf_get_width et pixbuf_get_height. Si take_picture n’a pas été appelé pour stocker une image dans le pixbuf, cette fonction n’échouera pas, mais les valeurs insérées dans le pixel seront invalides.
image_new#
image_new(integer width, integer height)
- Paramètres:
widthLa largeur de l’image,heightLa hauteur de l’image- Valeurs de retour:
Une nouvelle structure de données image.
Obtient une nouvelle structure de données image, avec la largeur, la hauteur et le pixsize passés en argument. Consultez la documentation image pour plus d’informations sur l’utilisation des structures de données image.
Obtient un pixel depuis la structure de données image passée en argument. Les valeurs RGB du pixel seront stockées dans la structure de données pixel passée en argument. Le paramètre x doit être inférieur à la largeur de l”image, et y doit être inférieur à la hauteur de l”image.
framediff_new#
framediff_new(integer template_width, integer template_height)
- Paramètres:
template_widthLa largeur du modèle que nous comparons,template_heightLa hauteur du modèle- Valeurs de retour:
Une nouvelle structure de données framediff
Obtient une nouvelle structure de données framediff, avec la largeur et la hauteur de modèle passées en argument. Les structures framediff sont généralement utilisées pour évaluer la différence entre deux images prises avec la CMUcam3, mais consultez la documentation framediff pour plus d’informations.
framediff_scanline_start#
framediff_scanline_start(framediff fd)
- Paramètres:
fdL’objet framediff à utiliser- Valeurs de retour:
Renvoie 1 en cas de succès.
Initialise tout ce qui est nécessaire pour effectuer la différenciation d’images à l’aide de framediff_scanline. S’assure qu’un current_template est défini dans la structure framediff (ou charge le modèle actuel si framediff:get_load_frame() est vrai).
framediff_scanline#
framediff_scanline(image img, framediff fd)
- Paramètres:
imgUne structure de données image,fdUne structure de données framediff- Valeurs de retour:
Renvoie 1 en cas de succès
Obtient tous les pixels de img et les charge dans l’emplacement approprié de la structure framediff, afin que les deux modèles (current_template et previous_template) puissent être comparés. Si fd:get_load_frame est vrai, chargera les pixels de img dans l’emplacement du modèle précédent. Si fd:get_load_frame est faux, charge les pixels de img dans current_template.
framediff_scanline_finish#
framediff_scanline_finish(framediff fd)
- Paramètres:
fdLa structure de données framediff à utiliser- Valeurs de retour:
Renvoie 1 si l’opération a réussi.
Compare les deux modèles (current_template et previous_template) dans la structure de données framediff, et calcule le nombre de pixels qui diffèrent, en stockant cette valeur dans framediff:get_num_pixels.
print_color_tracker#
print_color_tracker(tracker tracker)
- Paramètres:
trackerLe tracker fournit les données utilisées pour l’affichage- Valeurs de retour:
aucun
Utilise les données de l’objet tracker pour afficher des informations de débogage sur le CamScripter. Affiche un rectangle représentant l’image dans le tampon d’image de la caméra, avec un autre rectangle à l’intérieur représentant la boîte englobante de la couleur suivie, et un point rouge indiquant le centroïde de la couleur dans l’image.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Paramètres:
x,yest l’emplacement en coordonnées du coin supérieur gauche du rectangle, exprimé en distance par rapport au coin supérieur gauche de l’écran graphique.widthetheightsont la largeur et la hauteur du rectangle. Les arguments optionnelsred,greenetbluedonnent la couleur dans laquelle le rectangle sera dessiné sous forme de valeur RGB. La couleur par défaut est le noir.- Valeurs de retour:
aucun
Dessine un rectangle de width pixels de large et height pixels de haut dans l’onglet graphique de CamScripter. Les arguments optionnels red, green et blue permettent de modifier la couleur du rectangle à l’aide de valeurs RGB comprises entre 0 et 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Paramètres:
Le point de départ et le point d’arrivée de la ligne, ainsi que des arguments optionnels pour définir la couleur de la ligne.
- Valeurs de retour:
aucun
Dessine une ligne sur l’écran graphique de CamScripter de (start_x, start_y) à (end_x, end_y). La couleur RGB de la ligne peut être spécifiée avec les arguments optionnels red, green et blue. La couleur par défaut est le noir, si aucune couleur n’est spécifiée.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Paramètres:
Le coin supérieur gauche de l’ovale est spécifié par (x, y). La largeur et la hauteur sont en pixels. Red, green et blue sont des arguments optionnels pour définir la couleur de l’ovale.
- Valeurs de retour:
aucun
Dessine un ovale sur l’écran graphique de CamScripter. Le coin supérieur gauche de l’ovale se trouve au point (x, y). La couleur RGB de l’ovale peut être spécifiée avec les arguments optionnels red, green et blue. La couleur par défaut est le noir, si aucune couleur n’est spécifiée.
clear_graphics#
clear_graphics()
- Paramètres:
aucun
- Valeurs de retour:
aucun
Efface l’écran graphique de CamScripter.
tracker_track_color#
tracker_track_color(tracker theTracker)
- Paramètres:
l’objet tracker utilisé pour effectuer le suivi de couleur, défini avec la valeur RGB souhaitée à définir.
- Valeurs de retour:
booléen indiquant si le suivi a pu avoir lieu. Renvoie true même si la couleur n’a pas été trouvée – ne renvoie false que si une erreur s’est produite.
Suit une couleur dans la CMUcam3 à l’aide de l’objet tracker passé en argument. take_picture() doit être appelé avant d’essayer de suivre une couleur. Analyse le tampon d’image et définit des valeurs dans l’objet tracker afin de fournir une boîte englobante pour la couleur ainsi qu’une valeur (x, y) représentant le centroïde de la couleur. Consultez la documentation du tracker pour plus de détails.