Lua API: Funktioner#

set_debug#

set_debug(boolean debug_on)

Parametrar:

debug_on – Skicka ett värde som utvärderas till antingen true (felsökning på) eller false (felsökning av)

Returvärden:

ingen

Slå på eller av felsökning. När felsökning är på försöker kameran skicka text- och bildfelsökningsinformation över den seriella porten. Stäng av felsökning när ett program är klart för att förbättra prestandan.

print#

Användning: print("a message") / print("one plus one is ", 1+1)

Parametrar:

Skicka så många värden som önskas.

Returvärden:

ingen

Felsökningsfunktion, används för att skriva ut värden. CMUcam3 skickar alla värden som skickas till denna funktion till CamScripter-insticksprogrammet i Eclipse, där de visas i konsolområdet.

turn_on_led#

turn_on_led(integer led_number)

Parametrar:

led_number Numret på den CMUcam3-lysdiod som ska slås på. 0, 1, 2 är de enda giltiga värdena.

Returvärden:

ingen

Slå på en av CMUcam3:s lysdioder.

turn_off_led#

turn_off_led(integer led_number)

Parametrar:

led_number Numret på den CMUcam3-lysdiod som ska slås på. 0, 1, 2 är de enda giltiga värdena.

Returvärden:

ingen

Stäng av en av CMUcam3:s lysdioder.

take_picture#

take_picture()

Parametrar:

ingen

Returvärden:

ingen

Ta en bild med CMUcam3 och ladda bildbufferten (pixbuf).

save_picture#

save_picture(string filename)

Parametrar:

filename Filnamn att försöka spara bilden under.

Returvärden:

ingen

Spara bilden som för närvarande finns i bildbufferten till det angivna filnamnet. Filnamnet måste vara ett giltigt FAT16-filnamn <8.3>, annars returneras ett fel. Om en fil redan finns med det angivna filnamnet skrivs den över. Observera att denna funktion inte tar en bild själv - du måste anropa take_picture innan du anropar save_picture.

file_exists#

file_exists(string filename)

Parametrar:

filename

Returvärden:

boolean som anger om filen finns

Testa om det finns en fil på MMC/SD-kortet med det angivna filnamnet.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parametrar:

resolution Den nya upplösningen för kameran

Returvärden:

ingen

Ställ in upplösningen för CMUcam3. Upplösningen måste vara antingen high eller low (se konstanterna för kameraupplösning i Lua API: Konstanter).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parametrar:

space Den nya upplösningen för kameran, måste vara antingen CC3_COLORSPACE_YCRCB ELLER CC3_COLORSPACE_RGB

Returvärden:

ingen

Ställ in färgrymden för CMUcam3 till antingen YCRCB eller RGB (RGB är standard). Se även Lua API: Konstanter.

wait#

wait(integer ms)

Parametrar:

ms Antalet millisekunder att vänta

Returvärden:

ingen

Vänta i ms millisekunder.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Returvärden:

ingen

Ställ in kanalerna av intresse för kameran. Bestämmer vilka kanaler kameran registrerar när den tar bilder. Att ställa in mindre värden för COI kan snabba upp bildbearbetningen. Giltiga värden för COI finns i konstanterna för kanal av intresse i Lua API: Konstanter.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parametrar:

img Ett bildobjekt som pixbuf-rader läses in i, num_rows Antalet rader att läsa

Returvärden:

Antalet rader som lästes in korrekt

Kopiera num_rows rader från kamerans bildbuffert (pixbuf) till det angivna image-objektet.

pixbuf_get_width#

pixbuf_get_width()

Parametrar:

ingen

Returvärden:

Bredden på pixbuf i pixlar

Hämta bredden på bildbufferten (pixbuf). Bildbufferten måste ha laddats innan detta anropas genom att anropa antingen take_picture eller show_picture.

pixbuf_get_height#

pixbuf_get_height()

Parametrar:

ingen

Returvärden:

Höjden på pixbuf i pixlar

Hämta höjden på bildbufferten (pixbuf). Bildbufferten måste ha laddats innan detta anropas genom att anropa antingen take_picture eller show_picture.

pixel_new#

pixel_new()

Parametrar:

ingen

Returvärden:

En ny pixel-datastruktur

Skapar och returnerar en ny pixeldatastruktur. Se pixel-dokumentationen för detaljer om strukturen. Se även pixbuf_get_pixel och get_pixel för användning av pixel-strukturen.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parametrar:

pxl pixel-datastrukturen som pixelvärdena ska lagras i. x, y x- och y-koordinaterna för pixeln som ska hämtas i bildbufferten.

Returvärden:

ingen, pixelvärdena lagras i den angivna pixel

Hämta en enda pixel från CMUcam3:s bildbuffert (pixbuf). x och y måste vara mindre än pixbuf_get_width respektive pixbuf_get_height. Om take_picture inte har anropats för att lagra en bild i pixbuf misslyckas denna funktion inte, men värdena som infogas i pixel blir skräp.

image_new#

image_new(integer width, integer height)

Parametrar:

width Bildens bredd, height Bildens höjd

Returvärden:

En ny image-datastruktur.

Hämta en ny image-datastruktur, med den angivna bredden, höjden och pixsize. Se image-dokumentationen för mer information om hur du använder image-datastrukturer.

Hämta en pixel från den angivna datastrukturen image. Pixelns RGB-värden lagras i den angivna datastrukturen pixel. Parametern x måste vara mindre än bredden på image, och y måste vara mindre än höjden på image.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parametrar:

template_width Bredden på mallen vi jämför, template_height Höjden på mallen

Returvärden:

En ny framediff-datastruktur

Hämta en ny framediff-datastruktur, med den angivna mallbredden och -höjden. framediff-strukturer används i allmänhet för att utvärdera skillnaden mellan två bildrutor tagna med CMUcam3, men se framediff-dokumentationen för mer information.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parametrar:

fd framediff-objektet att använda

Returvärden:

Returnerar 1 om det lyckas.

Initierar allt som behövs för att göra bildskillnadsberäkning med framediff_scanline. Säkerställer att det finns en current_template inställd i framediff-strukturen (eller laddar den aktuella mallen om framediff:get_load_frame() är sant).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parametrar:

img En image-datastruktur, fd En framediff-datastruktur

Returvärden:

Returnerar 1 om det lyckas

Hämtar alla pixlar från img och laddar dem i rätt plats i framediff-strukturen, så att de två mallarna (current_template och previous_template) kan jämföras. Om fd:get_load_frame är sant laddas pixlarna i img in i platsen för den föregående mallen. Om fd:get_load_frame är falskt laddas pixlarna från img in i current_template.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parametrar:

fd framediff-datastrukturen att använda

Returvärden:

Returnerar 1 om operationen lyckades.

Jämför de två mallarna (current_template och previous_template) i datastrukturen framediff och beräknar antalet pixlar som skiljer sig åt, och lagrar det värdet i framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Parametrar:

ingen

Returvärden:

ingen

Rensa CamScripters grafikskärm.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parametrar:

objektet tracker som används för att utföra färgspårningen, satt med önskat RGB-värde som ska ställas in.

Returvärden:

boolean som anger om spårningen kunde ske. Returnerar true även om färgen inte hittades – returnerar endast false om ett fel uppstod.

Spåra en färg i CMUcam3 med hjälp av det angivna tracker-objektet. take_picture() måste anropas innan du försöker spåra en färg. Analyserar bildbufferten och ställer in värden i tracker-objektet för att ge en begränsningsruta för färgen och ett (x, y)-värde som representerar färgens tyngdpunkt. Se tracker-dokumentationen för mer information.