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_numberBroj 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_numberBroj 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).
print_picture#
print_picture()
- Parametri:
nema
- Povratne vrijednosti:
nema
Pošaljite sliku koja je upravo snimljena preko serijskog priključka da se prikaže u CamScripter debug prozoru. Morate pozvati take_picture prije poziva ove funkcije - ona sama ne snima sliku.
save_picture#
save_picture(string filename)
- Parametri:
filenameNaziv 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:
resolutionNova 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:
spaceNova razlučivost za kameru, mora biti iliCC3_COLORSPACE_YCRCBILICC3_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:
msBroj 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:
imgObjekt slike u koji se čitaju redovi pixbuf-a,num_rowsBroj 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:
pxlpixel struktura podataka u koju se pohranjuju vrijednosti piksela.x,yx 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,heightVisina 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_heightVisina 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:
fdframediff 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:
imgimage struktura podataka,fdframediff 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:
fdframediff 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parametri:
trackertracker pruža podatke korištene za ispis- Povratne vrijednosti:
nema
Koristi podatke u tracker objektu za ispis informacija za ispravljanje pogrešaka na CamScripteru. Ispisuje pravokutnik koji predstavlja sliku u međuspremniku slike kamere, s drugim pravokutnikom unutar njega koji predstavlja granični okvir za boju koja se prati, i crvenom točkom koja prikazuje centroid boje unutar slike.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parametri:
x,yje koordinatna lokacija gornjeg lijevog kuta pravokutnika u udaljenosti od gornjeg lijevog kuta grafičkog zaslona.widthiheightsu širina i visina pravokutnika. Opcionalni argumentired,greenibluedaju boju u kojoj će pravokutnik biti nacrtan kao RGB vrijednost. Zadana boja je crna.- Povratne vrijednosti:
nema
Crta pravokutnik širine width piksela i visine height piksela u CamScripter grafičkoj kartici. Opcionalni argumenti red, green i blue omogućuju promjenu boje pravokutnika korištenjem RGB vrijednosti između 0 i 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parametri:
Početna točka i završna točka za liniju te opcionalni argumenti za postavljanje boje linije.
- Povratne vrijednosti:
nema
Nacrtajte liniju na CamScripter grafičkom zaslonu od (start_x, start_y) do (end_x, end_y). RGB boja linije može se odrediti opcionalnim argumentima red, green i blue. Zadana boja je crna, ako boja nije navedena.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parametri:
Gornji lijevi kut ovala određen je s (x, y). Širina i visina su u pikselima. Crvena, zelena i plava opcionalni su argumenti za postavljanje boje ovala.
- Povratne vrijednosti:
nema
Nacrtajte oval na CamScripter grafičkom zaslonu. Gornji lijevi kut ovala je u točki (x, y). RGB boja ovala može se odrediti opcionalnim argumentima red, green i blue. Zadana boja je crna, ako boja nije navedena.
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.