Lua API: Funzioni#
set_debug#
set_debug(boolean debug_on)
- Parametri:
debug_on– Passa un valore che valuta a true (debug attivo) o false (debug disattivo)- Valori di ritorno:
nessuno
Attiva o disattiva il debug. Quando il debug è attivo, la telecamera tenterà di inviare informazioni di debug testuali e di immagine attraverso la porta seriale. Disattiva il debug una volta terminato un programma per migliorare le prestazioni.
print#
Uso: print("a message") / print("one plus one is ", 1+1)
- Parametri:
Passa tutti i valori desiderati.
- Valori di ritorno:
nessuno
Funzione di debug, utilizzata per stampare i valori. La CMUcam3 invierà tutti i valori passati a questa funzione al plugin Eclipse CamScripter, dove verranno visualizzati nell’area Console.
turn_on_led#
turn_on_led(integer led_number)
- Parametri:
led_numberIl numero del LED della CMUcam3 da accendere. 0, 1, 2 sono gli unici valori validi.- Valori di ritorno:
nessuno
Accendi uno dei LED della CMUcam3.
turn_off_led#
turn_off_led(integer led_number)
- Parametri:
led_numberIl numero del LED della CMUcam3 da accendere. 0, 1, 2 sono gli unici valori validi.- Valori di ritorno:
nessuno
Spegni uno dei LED della CMUcam3.
take_picture#
take_picture()
- Parametri:
nessuno
- Valori di ritorno:
nessuno
Scatta un’immagine con la CMUcam3 e carica il buffer immagine (pixbuf).
print_picture#
print_picture()
- Parametri:
nessuno
- Valori di ritorno:
nessuno
Invia l’immagine appena scattata tramite la porta seriale per essere visualizzata nella finestra di debug di CamScripter. Devi chiamare take_picture prima di chiamare questa funzione - non scatta un’immagine di per sé.
save_picture#
save_picture(string filename)
- Parametri:
filenameIl nome del file con cui provare a salvare l’immagine.- Valori di ritorno:
nessuno
Salva l’immagine attualmente presente nel buffer immagine nel nome file passato. Il nome file deve essere un nome file FAT16 valido <8.3>, altrimenti verrà restituito un errore. Se esiste già un file con il nome file indicato, verrà sovrascritto. Nota che questa funzione non scatta un’immagine di per sé - devi chiamare take_picture prima di chiamare save_picture.
file_exists#
file_exists(string filename)
- Parametri:
filename- Valori di ritorno:
booleano che indica se il file esiste
Verifica se esiste un file sulla scheda MMC/SD con il nome file passato.
camera_set_resolution#
camera_set_resolution(integer resolution)
- Parametri:
resolutionLa nuova risoluzione per la telecamera- Valori di ritorno:
nessuno
Imposta la risoluzione della CMUcam3. La risoluzione deve essere high o low (vedi le Camera Resolution Constants in Lua API: Costanti).
camera_set_colorspace#
camera_set_colorspace(integer space)
- Parametri:
spaceLa nuova risoluzione per la telecamera, deve essereCC3_COLORSPACE_YCRCBOCC3_COLORSPACE_RGB- Valori di ritorno:
nessuno
Imposta lo spazio colore per la CMUcam3 su YCRCB o RGB (RGB è il valore predefinito). Vedi anche Lua API: Costanti.
wait#
wait(integer ms)
- Parametri:
msIl numero di millisecondi da attendere- Valori di ritorno:
nessuno
Attendi ms millisecondi.
pixbuf_set_coi#
pixbuf_set_coi(integer coi)
- Valori di ritorno:
nessuno
Imposta i canali di interesse per la fotocamera. Determina quali canali la fotocamera registra quando scatta le immagini. Impostare valori più piccoli per COI può accelerare l’elaborazione delle immagini. I valori consentiti per COI si trovano nelle Channel of Interest Constants in Lua API: Costanti.
pixbuf_read_rows#
pixbuf_read_rows(image img, integer num_rows)
- Parametri:
imgUn oggetto immagine in cui vengono lette le righe del pixbuf,num_rowsIl numero di righe da leggere- Valori di ritorno:
Il numero di righe che sono state lette con successo
Copia num_rows righe dal buffer immagine della fotocamera (pixbuf) nell’oggetto image passato.
pixbuf_get_width#
pixbuf_get_width()
- Parametri:
nessuno
- Valori di ritorno:
La larghezza del pixbuf in pixel
Ottiene la larghezza del buffer immagine (pixbuf). Il buffer immagine deve essere stato caricato prima di chiamare questa funzione chiamando take_picture o show_picture.
pixbuf_get_height#
pixbuf_get_height()
- Parametri:
nessuno
- Valori di ritorno:
L’altezza del pixbuf in pixel
Ottiene l’altezza del buffer immagine (pixbuf). Il buffer immagine deve essere stato caricato prima di chiamare questa funzione chiamando take_picture o show_picture.
pixel_new#
pixel_new()
- Parametri:
nessuno
- Valori di ritorno:
Una nuova struttura dati pixel
Crea e restituisce una nuova struttura dati pixel. Consulta la documentazione pixel per i dettagli sulla struttura. Vedi anche pixbuf_get_pixel e get_pixel per l’utilizzo della struttura pixel.
get_pixel#
get_pixel(pixel pxl, integer x, integer y)
- Parametri:
pxlLa struttura dati pixel in cui memorizzare i valori del pixel.x,yLe coordinate x e y del pixel da recuperare all’interno del buffer dell’immagine.- Valori di ritorno:
nessuno, i valori del pixel sono memorizzati nel pixel passato
Ottiene un singolo pixel dall’interno del buffer immagine della CMUcam3 (pixbuf). x e y devono essere minori rispettivamente di pixbuf_get_width e pixbuf_get_height. Se take_picture non è stata chiamata per memorizzare un’immagine nel pixbuf questa funzione non fallirà, ma i valori inseriti nel pixel saranno privi di senso.
image_new#
image_new(integer width, integer height)
- Parametri:
widthLa larghezza dell’immagine,heightL’altezza dell’immagine- Valori di ritorno:
Una nuova struttura dati image.
Ottiene una nuova struttura dati image, con la larghezza, l’altezza e pixsize passate. Consulta la documentazione image per maggiori informazioni sull’uso delle strutture dati image.
Ottiene un pixel dalla struttura dati image passata. I valori RGB del pixel verranno memorizzati nella struttura dati pixel passata. Il parametro x deve essere minore della larghezza di image e y deve essere minore dell’altezza di image.
framediff_new#
framediff_new(integer template_width, integer template_height)
- Parametri:
template_widthLa larghezza del template che stiamo confrontando,template_heightL’altezza del template- Valori di ritorno:
Una nuova struttura dati framediff
Ottiene una nuova struttura dati framediff, con la larghezza e l’altezza del template passate. Le strutture framediff sono generalmente utilizzate per valutare la differenza tra due fotogrammi di immagine acquisiti con la CMUcam3, ma consulta la documentazione framediff per maggiori informazioni.
framediff_scanline_start#
framediff_scanline_start(framediff fd)
- Parametri:
fdL’oggetto framediff da usare- Valori di ritorno:
Restituisce 1 in caso di successo.
Inizializza tutto ciò che è necessario per effettuare la differenziazione dei fotogrammi utilizzando framediff_scanline. Si assicura che ci sia un current_template impostato nella struttura framediff (o carica il template corrente se framediff:get_load_frame() è vero).
framediff_scanline#
framediff_scanline(image img, framediff fd)
- Parametri:
imgUna struttura dati image,fdUna struttura dati framediff- Valori di ritorno:
Restituisce 1 in caso di successo
Ottiene tutti i pixel da img e li carica nello slot appropriato della struttura framediff, in modo che i due template (current_template e previous_template) possano essere confrontati. Se fd:get_load_frame è vero, caricherà i pixel di img nello slot del template precedente. Se fd:get_load_frame è falso, carica i pixel di img nel current_template.
framediff_scanline_finish#
framediff_scanline_finish(framediff fd)
- Parametri:
fdLa struttura dati framediff da usare- Valori di ritorno:
Restituisce 1 se l’operazione ha avuto successo.
Confronta i due template (current_template e previous_template) nella struttura dati framediff e calcola il numero di pixel che sono diversi, memorizzando tale valore in framediff:get_num_pixels.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parametri:
trackerIl tracker fornisce i dati usati per la stampa- Valori di ritorno:
nessuno
Usa i dati nell’oggetto tracker per stampare informazioni di debug su CamScripter. Stampa un rettangolo che rappresenta l’immagine nel buffer dell’immagine della telecamera, con un altro rettangolo al suo interno che rappresenta il riquadro di delimitazione per il colore tracciato, e un punto rosso che mostra il centroide del colore all’interno dell’immagine.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parametri:
x,yè la posizione delle coordinate dell’angolo superiore sinistro del rettangolo come distanza dall’angolo superiore sinistro dello schermo grafico.widtheheightsono la larghezza e l’altezza del rettangolo. Gli argomenti opzionalired,greeneblueforniscono il colore con cui il rettangolo verrà disegnato come valore RGB. Il colore predefinito è il nero.- Valori di ritorno:
nessuno
Disegna un rettangolo largo width pixel e alto height pixel nella scheda grafica di CamScripter. Gli argomenti opzionali red, green e blue consentono di cambiare il colore del rettangolo utilizzando valori RGB compresi tra 0 e 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parametri:
Il punto iniziale e il punto finale della linea, e argomenti opzionali per impostare il colore della linea.
- Valori di ritorno:
nessuno
Disegna una linea sullo schermo grafico di CamScripter da (start_x, start_y) a (end_x, end_y). Il colore RGB della linea può essere specificato con gli argomenti opzionali red, green e blue. Il colore predefinito è il nero, se non viene specificato alcun colore.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parametri:
L’angolo superiore sinistro dell’ovale è specificato da (x, y). Larghezza e altezza sono in pixel. Red, green e blue sono argomenti opzionali per impostare il colore dell’ovale.
- Valori di ritorno:
nessuno
Disegna un ovale sullo schermo grafico di CamScripter. L’angolo superiore sinistro dell’ovale si trova nel punto (x, y). Il colore RGB dell’ovale può essere specificato con gli argomenti opzionali red, green e blue. Il colore predefinito è il nero, se non viene specificato alcun colore.
clear_graphics#
clear_graphics()
- Parametri:
nessuno
- Valori di ritorno:
nessuno
Pulisce lo schermo grafico di CamScripter.
tracker_track_color#
tracker_track_color(tracker theTracker)
- Parametri:
l’oggetto tracker usato per eseguire il tracciamento del colore, impostato con il valore RGB desiderato da impostare.
- Valori di ritorno:
booleano che indica se il tracciamento è stato possibile. Restituisce true anche se il colore non è stato trovato – restituisce false solo se si è verificato un errore.
Traccia un colore nella CMUcam3 usando l’oggetto tracker passato. take_picture() deve essere chiamato prima di provare a tracciare un colore. Analizza il buffer dell’immagine e imposta i valori nell’oggetto tracker per fornire un riquadro di delimitazione per il colore e un valore (x, y) che rappresenta il centroide del colore. Vedi la documentazione del tracker per maggiori dettagli.