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_number Il 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_number Il 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).

save_picture#

save_picture(string filename)

Parametri:

filename Il 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:

resolution La 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:

space La nuova risoluzione per la telecamera, deve essere CC3_COLORSPACE_YCRCB O CC3_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:

ms Il 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:

img Un oggetto immagine in cui vengono lette le righe del pixbuf, num_rows Il 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:

pxl La struttura dati pixel in cui memorizzare i valori del pixel. x, y Le 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:

width La larghezza dell’immagine, height L’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_width La larghezza del template che stiamo confrontando, template_height L’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:

fd L’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:

img Una struttura dati image, fd Una 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:

fd La 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.

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.