Lua API: funkcije#

set_debug#

set_debug(boolean debug_on)

Parametri:

debug_on – Proslijedite vrijednost koja se procjenjuje kao true (ispravljanje pogrešaka uključeno) ili false (ispravljanje pogrešaka isključeno)

Povratne vrijednosti:

nema

Uključite ili isključite ispravljanje pogrešaka. Kada je ispravljanje pogrešaka uključeno, kamera će pokušati poslati tekstualne i slikovne informacije za ispravljanje pogrešaka preko serijskog priključka. Isključite ispravljanje pogrešaka nakon što je program gotov kako biste poboljšali performanse.

print#

Upotreba: print("a message") / print("one plus one is ", 1+1)

Parametri:

Proslijedite onoliko vrijednosti koliko želite.

Povratne vrijednosti:

nema

Funkcija za otklanjanje pogrešaka, koristi se za ispis vrijednosti. CMUcam3 će poslati sve vrijednosti proslijeđene ovoj funkciji Eclipse dodatku CamScripter, gdje će biti prikazane u području konzole.

turn_on_led#

turn_on_led(integer led_number)

Parametri:

led_number Broj CMUcam3 LED-a koji treba uključiti. 0, 1, 2 su jedine dopuštene vrijednosti.

Povratne vrijednosti:

nema

Uključite jedan od CMUcam3 LED-ova.

turn_off_led#

turn_off_led(integer led_number)

Parametri:

led_number Broj CMUcam3 LED-a koji treba uključiti. 0, 1, 2 su jedine dopuštene vrijednosti.

Povratne vrijednosti:

nema

Isključite jedan od CMUcam3 LED-ova.

take_picture#

take_picture()

Parametri:

nema

Povratne vrijednosti:

nema

Snimite sliku s CMUcam3 i učitajte međuspremnik slike (pixbuf).

save_picture#

save_picture(string filename)

Parametri:

filename Naziv datoteke pod kojim pokušati spremiti sliku.

Povratne vrijednosti:

nema

Spremite sliku koja je trenutno u međuspremniku slike pod proslijeđeni naziv datoteke. Naziv datoteke mora biti valjani FAT16 naziv datoteke <8.3>, u suprotnom će biti vraćena greška. Ako datoteka s danim nazivom već postoji, bit će prepisana. Imajte na umu da ova funkcija ne snima sama sliku - morate pozvati take_picture prije poziva save_picture.

file_exists#

file_exists(string filename)

Parametri:

filename

Povratne vrijednosti:

boolean koji označava postoji li datoteka

Testira postoji li datoteka na MMC/SD kartici s proslijeđenim nazivom datoteke.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parametri:

resolution Nova razlučivost za kameru

Povratne vrijednosti:

nema

Postavite razlučivost CMUcam3. Razlučivost mora biti visoka ili niska (pogledajte Konstante razlučivosti kamere u Lua API: konstante).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parametri:

space Nova razlučivost za kameru, mora biti ili CC3_COLORSPACE_YCRCB ILI CC3_COLORSPACE_RGB

Povratne vrijednosti:

nema

Postavite prostor boja za CMUcam3 na YCRCB ili RGB (RGB je zadano). Pogledajte i Lua API: konstante.

wait#

wait(integer ms)

Parametri:

ms Broj milisekundi za čekanje

Povratne vrijednosti:

nema

Čeka ms milisekundi.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Povratne vrijednosti:

nema

Postavite kanale od interesa za kameru. Određuje koje kanale kamera snima prilikom snimanja slika. Postavljanje manjih vrijednosti za COI može ubrzati obradu slike. Dopuštene vrijednosti za COI mogu se pronaći u Konstantama kanala od interesa u Lua API: konstante.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parametri:

img Objekt slike u koji se čitaju redovi pixbuf-a, num_rows Broj redaka za čitanje

Povratne vrijednosti:

Broj redaka koji su uspješno pročitani

Kopira num_rows redaka iz međuspremnika slike kamere (pixbuf) u proslijeđeni objekt image.

pixbuf_get_width#

pixbuf_get_width()

Parametri:

nema

Povratne vrijednosti:

Širina pixbuf-a u pikselima

Dohvatite širinu međuspremnika slike (pixbuf). Međuspremnik slike mora biti učitan prije poziva ovoga, pozivom take_picture ili show_picture.

pixbuf_get_height#

pixbuf_get_height()

Parametri:

nema

Povratne vrijednosti:

Visina pixbuf-a u pikselima

Dohvatite visinu međuspremnika slike (pixbuf). Međuspremnik slike mora biti učitan prije poziva ovoga, pozivom take_picture ili show_picture.

pixel_new#

pixel_new()

Parametri:

nema

Povratne vrijednosti:

Nova podatkovna struktura pixel

Stvara i vraća novu pixel podatkovnu strukturu. Pogledajte pixel dokumentaciju za pojedinosti o strukturi. Pogledajte također pixbuf_get_pixel i get_pixel za korištenje strukture pixel.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parametri:

pxl pixel struktura podataka u koju se pohranjuju vrijednosti piksela. x, y x i y koordinate piksela koji se dohvaća unutar međuspremnika slike.

Povratne vrijednosti:

nema, vrijednosti piksela pohranjuju se u proslijeđeni pixel

Dohvatite jedan pixel iz međuspremnika slike CMUcam3 (pixbuf). x i y moraju biti manji od pixbuf_get_width odnosno pixbuf_get_height. Ako take_picture nije pozvan za pohranu slike u pixbuf, ova funkcija neće zakazati, ali vrijednosti umetnute u pixel bit će besmislene.

image_new#

image_new(integer width, integer height)

Parametri:

width Širina slike, height Visina slike

Povratne vrijednosti:

Nova podatkovna struktura image.

Dohvatite novu podatkovnu strukturu image, s proslijeđenom širinom, visinom i pixsize. Pogledajte dokumentaciju image za više informacija o korištenju podatkovnih struktura image.

Dohvatite pixel iz proslijeđene podatkovne strukture image. RGB vrijednosti piksela bit će pohranjene u proslijeđenu podatkovnu strukturu pixel. Parametar x mora biti manji od širine strukture image, a y mora biti manji od visine strukture image.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parametri:

template_width Širina predloška koji razlikujemo, template_height Visina predloška

Povratne vrijednosti:

Nova podatkovna struktura framediff

Dohvatite novu podatkovnu strukturu framediff, s proslijeđenom širinom i visinom predloška. Strukture framediff općenito se koriste za procjenu razlike između dviju sličica snimljenih s CMUcam3, no pogledajte dokumentaciju framediff za više informacija.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parametri:

fd framediff objekt za korištenje

Povratne vrijednosti:

Vraća 1 ako je uspješno.

Inicijalizira sve potrebno za diferenciranje sličica pomoću framediff_scanline. Osigurava da je current_template postavljen u strukturi framediff (ili učitava trenutni predložak ako je framediff:get_load_frame() istinit).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parametri:

img image struktura podataka, fd framediff struktura podataka

Povratne vrijednosti:

Vraća 1 ako je uspješno

Dohvaća sve piksele iz img i učitava ih u odgovarajući slot u strukturi framediff, tako da se dva predloška (current_template i previous_template) mogu usporediti. Ako je fd:get_load_frame istinit (true), učitat će piksele iz img u slot prethodnog predloška. Ako je fd:get_load_frame lažan (false), učitava piksele iz img u current_template.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parametri:

fd framediff struktura podataka za korištenje

Povratne vrijednosti:

Vraća 1 ako je operacija bila uspješna.

Uspoređuje dva predloška (current_template i previous_template) u podatkovnoj strukturi framediff i izračunava broj piksela koji se razlikuju, pohranjujući tu vrijednost u framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Parametri:

nema

Povratne vrijednosti:

nema

Očistite CamScripter grafički zaslon.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parametri:

tracker objekt korišten za praćenje boje, postavljen sa željenom RGB vrijednošću koju treba postaviti.

Povratne vrijednosti:

boolean koji označava je li praćenje moglo biti obavljeno. Vraća true čak i ako boja nije pronađena – vraća false samo ako je došlo do pogreške.

Pratite boju u CMUcam3 koristeći proslijeđeni tracker objekt. take_picture() mora se pozvati prije pokušaja praćenja boje. Analizira međuspremnik slike i postavlja vrijednosti u tracker objekt kako bi dao granični okvir za boju i (x, y) vrijednost koja predstavlja centroid boje. Za više pojedinosti pogledajte dokumentaciju za tracker.