Lua API: funktiot#

set_debug#

set_debug(boolean debug_on)

Parametrit:

debug_on – Anna arvo, joka arvioituu joko todeksi (virheenkorjaus päällä) tai epätodeksi (virheenkorjaus pois päältä)

Paluuarvot:

ei mitään

Kytke virheenkorjaus päälle tai pois. Kun virheenkorjaus on päällä, kamera yrittää lähettää teksti- ja kuvavirheenkorjaustietoja sarjaportin kautta. Kytke virheenkorjaus pois päältä, kun ohjelma on valmis, parantaaksesi suorituskykyä.

print#

Käyttö: print("a message") / print("one plus one is ", 1+1)

Parametrit:

Välitä niin monta arvoa kuin haluat.

Paluuarvot:

ei mitään

Vianetsintäfunktio, jota käytetään arvojen tulostamiseen. CMUcam3 lähettää kaikki tälle funktiolle välitetyt arvot CamScripter -Eclipse-laajennukseen, jossa ne näytetään konsolialueella.

turn_on_led#

turn_on_led(integer led_number)

Parametrit:

led_number Sytytettävän CMUcam3-LEDin numero. 0, 1, 2 ovat ainoat sallitut arvot.

Paluuarvot:

ei mitään

Sytytä yksi CMUcam3:n LEDeistä.

turn_off_led#

turn_off_led(integer led_number)

Parametrit:

led_number Sytytettävän CMUcam3-LEDin numero. 0, 1, 2 ovat ainoat sallitut arvot.

Paluuarvot:

ei mitään

Sammuta yksi CMUcam3:n LEDeistä.

take_picture#

take_picture()

Parametrit:

ei mitään

Paluuarvot:

ei mitään

Ota kuva CMUcam3:lla ja lataa kuvapuskuri (pixbuf).

save_picture#

save_picture(string filename)

Parametrit:

filename Tiedostonimi, jolla kuva yritetään tallentaa.

Paluuarvot:

ei mitään

Tallenna kuvapuskurissa parhaillaan oleva kuva välitettyyn tiedostonimeen. Tiedostonimen on oltava kelvollinen FAT16-tiedostonimi <8.3>, tai palautetaan virhe. Jos annetulla tiedostonimellä on jo tiedosto, se korvataan. Huomaa, että tämä funktio ei itse ota kuvaa - sinun on kutsuttava take_picture ennen save_picturen kutsumista.

file_exists#

file_exists(string filename)

Parametrit:

filename

Paluuarvot:

totuusarvo, joka ilmaisee, onko tiedosto olemassa

Testaa, onko MMC/SD-kortilla tiedostoa annetulla tiedostonimellä.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parametrit:

resolution Kameran uusi resoluutio

Paluuarvot:

ei mitään

Aseta CMUcam3:n resoluutio. Resoluution täytyy olla joko korkea tai matala (katso Camera Resolution Constants kohdassa Lua API: vakiot).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parametrit:

space Kameran uusi resoluutio, täytyy olla joko CC3_COLORSPACE_YCRCB TAI CC3_COLORSPACE_RGB

Paluuarvot:

ei mitään

Aseta CMUcam3:n väriavaruudeksi joko YCRCB tai RGB (RGB on oletus). Katso myös Lua API: vakiot.

wait#

wait(integer ms)

Parametrit:

ms Odotettavien millisekuntien lukumäärä

Paluuarvot:

ei mitään

Odota ms millisekuntia.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Paluuarvot:

ei mitään

Aseta kameran kiinnostavat kanavat. Määrittää, mitkä kanavat kamera tallentaa kuvia otettaessa. Pienempien COI-arvojen asettaminen voi nopeuttaa kuvankäsittelyä. Sallitut COI-arvot löytyvät kohdan Channel of Interest Constants alta kohdassa Lua API: vakiot.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parametrit:

img Kuvaobjekti, johon pixbuf-rivit luetaan, num_rows Luettavien rivien lukumäärä

Paluuarvot:

Onnistuneesti luettujen rivien lukumäärä

Kopioi num_rows riviä kameran kuvapuskurista (pixbuf) välitettyyn image -objektiin.

pixbuf_get_width#

pixbuf_get_width()

Parametrit:

ei mitään

Paluuarvot:

pixbufin leveys pikseleinä

Hae kuvapuskurin (pixbuf) leveys. Kuvapuskuri on täytynyt ladata ennen tämän kutsumista kutsumalla joko take_picture tai show_picture.

pixbuf_get_height#

pixbuf_get_height()

Parametrit:

ei mitään

Paluuarvot:

pixbufin korkeus pikseleinä

Hae kuvapuskurin (pixbuf) korkeus. Kuvapuskuri on täytynyt ladata ennen tämän kutsumista kutsumalla joko take_picture tai show_picture.

pixel_new#

pixel_new()

Parametrit:

ei mitään

Paluuarvot:

Uusi pixel -tietorakenne

Luo ja palauttaa uuden pixel-tietorakenteen. Katso pixel-dokumentaatio saadaksesi tietoja rakenteesta. Katso myös pixbuf_get_pixel ja get_pixel pixel -rakenteen käytöstä.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parametrit:

pxl pixel -tietorakenne, johon pikseliarvot tallennetaan. x, y Haettavan pikselin x- ja y-koordinaatit kuvapuskurin sisällä.

Paluuarvot:

ei mitään, pikseliarvot tallennetaan annettuun pixel -objektiin

Hae yksittäinen pixel CMUcam3:n kuvapuskurista (pixbuf). x:n ja y:n on oltava pienempiä kuin vastaavasti pixbuf_get_width ja pixbuf_get_height. Jos take_picture:a ei ole kutsuttu kuvan tallentamiseksi pixbufiin, tämä funktio ei epäonnistu, mutta pixel -rakenteeseen lisätyt arvot ovat roskaa.

image_new#

image_new(integer width, integer height)

Parametrit:

width Kuvan leveys, height Kuvan korkeus

Paluuarvot:

Uusi image -tietorakenne.

Hae uusi image -tietorakenne välitetyllä leveydellä, korkeudella ja pixsizellä. Katso image -dokumentaatiosta lisätietoja image -tietorakenteiden käytöstä.

Hae pixel välitetystä image -tietorakenteesta. Pikselin RGB-arvot tallennetaan välitettyyn pixel -tietorakenteeseen. Parametrin x on oltava pienempi kuin image -rakenteen leveys, ja y:n on oltava pienempi kuin image -rakenteen korkeus.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parametrit:

template_width Vertailtavan mallin leveys, template_height Mallin korkeus

Paluuarvot:

Uusi framediff -tietorakenne

Hae uusi framediff -tietorakenne välitetyllä mallin leveydellä ja korkeudella. framediff -rakenteita käytetään yleensä CMUcam3:lla otettujen kahden kuvaruudun välisen eron arviointiin, mutta katso lisätietoja framediff -dokumentaatiosta.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parametrit:

fd Käytettävä framediff -objekti

Paluuarvot:

Palauttaa 1, jos onnistui.

Alustaa kaiken, mitä tarvitaan ruutuerotukseen käyttäen framediff_scanline:a. Varmistaa, että framediff -rakenteessa on asetettu current_template (tai lataa nykyisen mallin, jos framediff:get_load_frame() on tosi).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parametrit:

img image -tietorakenne, fd framediff -tietorakenne

Paluuarvot:

Palauttaa 1, jos onnistui

Hakee kaikki pikselit img:stä ja lataa ne oikeaan paikkaan framediff -rakenteessa, jotta kahta mallia (current_template ja previous_template) voidaan verrata. Jos fd:get_load_frame on tosi, se lataa img:n pikselit previous_template-paikkaan. Jos fd:get_load_frame on epätosi, se lataa img:n pikselit current_templateen.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parametrit:

fd Käytettävä framediff -tietorakenne

Paluuarvot:

Palauttaa 1, jos operaatio onnistui.

Vertaa framediff -tietorakenteen kahta mallia (current_template ja previous_template) ja laskee erilaisten pikselien lukumäärän tallentaen kyseisen arvon kohtaan framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Parametrit:

ei mitään

Paluuarvot:

ei mitään

Tyhjennä CamScripterin grafiikkanäyttö.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parametrit:

tracker -objekti, jota käytetään värinseurantaan, asetettuna halutulla asetettavalla RGB-arvolla.

Paluuarvot:

totuusarvo, joka ilmaisee, pystyikö seuranta tapahtumaan. Palauttaa true, vaikka väriä ei löytynyt – palauttaa false vain, jos tapahtui virhe.

Seuraa väriä CMUcam3:ssa käyttäen annettua tracker -objektia. take_picture() täytyy kutsua ennen värin seuraamisen yrittämistä. Analysoi kuvapuskurin ja asettaa arvot tracker -objektiin antaakseen värin rajauslaatikon ja (x, y) -arvon, joka edustaa värin keskipistettä. Katso lisätietoja tracker-dokumentaatiosta.