Lua API: Funkce#

set_debug#

set_debug(boolean debug_on)

Parametry:

debug_on – Předejte hodnotu, která se vyhodnotí buď jako true (ladění zapnuto), nebo false (ladění vypnuto)

Návratové hodnoty:

žádný

Zapněte nebo vypněte ladění. Když je ladění zapnuto, kamera se pokusí odeslat textové a obrazové ladicí informace přes sériový port. Po dokončení programu ladění vypněte pro zlepšení výkonu.

print#

Použití: print("a message") / print("one plus one is ", 1+1)

Parametry:

Předejte tolik hodnot, kolik chcete.

Návratové hodnoty:

žádný

Ladicí funkce, používaná k tisku hodnot. CMUcam3 pošle všechny hodnoty předané této funkci do zásuvného modulu Eclipse CamScripter, kde budou zobrazeny v oblasti konzole.

turn_on_led#

turn_on_led(integer led_number)

Parametry:

led_number Číslo LED CMUcam3, kterou zapnout. 0, 1, 2 jsou jediné platné hodnoty.

Návratové hodnoty:

žádný

Zapnutí jedné z LED diod CMUcam3.

turn_off_led#

turn_off_led(integer led_number)

Parametry:

led_number Číslo LED CMUcam3, kterou zapnout. 0, 1, 2 jsou jediné platné hodnoty.

Návratové hodnoty:

žádný

Vypnutí jedné z LED diod CMUcam3.

take_picture#

take_picture()

Parametry:

žádný

Návratové hodnoty:

žádný

Pořiďte snímek pomocí CMUcam3 a načtěte obrazový buffer (pixbuf).

save_picture#

save_picture(string filename)

Parametry:

filename Název souboru, pod kterým se pokusit uložit obrázek.

Návratové hodnoty:

žádný

Uložte snímek aktuálně v obrazovém bufferu do předaného názvu souboru. Název souboru musí být platný název souboru FAT16 <8.3>, jinak bude vrácena chyba. Pokud již soubor s daným názvem existuje, bude přepsán. Vezměte na vědomí, že tato funkce sama snímek nepořizuje - před zavoláním save_picture musíte zavolat take_picture.

file_exists#

file_exists(string filename)

Parametry:

filename

Návratové hodnoty:

logická hodnota označující, zda soubor existuje

Otestujte, zda je na kartě MMC/SD soubor s předaným názvem.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parametry:

resolution Nové rozlišení kamery

Návratové hodnoty:

žádný

Nastavte rozlišení CMUcam3. Rozlišení musí být buď vysoké, nebo nízké (viz konstanty Camera Resolution v Lua API: Konstanty).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parametry:

space Nové rozlišení kamery, musí být buď CC3_COLORSPACE_YCRCB NEBO CC3_COLORSPACE_RGB

Návratové hodnoty:

žádný

Nastavte barevný prostor pro CMUcam3 buď na YCRCB, nebo RGB (RGB je výchozí). Viz také Lua API: Konstanty.

wait#

wait(integer ms)

Parametry:

ms Počet milisekund, které čekat

Návratové hodnoty:

žádný

Počkejte ms milisekund.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Návratové hodnoty:

žádný

Nastavte kanály zájmu pro kameru. Určuje, které kanály kamera zaznamenává při pořizování snímků. Nastavení menších hodnot pro COI může urychlit zpracování obrazu. Legální hodnoty pro COI naleznete v konstantách Channel of Interest v Lua API: Konstanty.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parametry:

img Objekt image, do kterého se čtou řádky pixbuf, num_rows Počet řádků ke čtení

Návratové hodnoty:

Počet řádků, které byly úspěšně přečteny

Zkopíruje num_rows řádků z obrazového bufferu kamery (pixbuf) do předaného objektu image.

pixbuf_get_width#

pixbuf_get_width()

Parametry:

žádný

Návratové hodnoty:

Šířka pixbuf v pixelech

Získá šířku obrazového bufferu (pixbuf). Obrazový buffer musí být před voláním této funkce načten zavoláním buď take_picture, nebo show_picture.

pixbuf_get_height#

pixbuf_get_height()

Parametry:

žádný

Návratové hodnoty:

Výška pixbuf v pixelech

Získá výšku obrazového bufferu (pixbuf). Obrazový buffer musí být před voláním této funkce načten zavoláním buď take_picture, nebo show_picture.

pixel_new#

pixel_new()

Parametry:

žádný

Návratové hodnoty:

Nová datová struktura pixel

Vytvoří a vrátí novou datovou strukturu pixelu. Podrobnosti o struktuře naleznete v dokumentaci pixelu. Pro použití struktury pixel viz také pixbuf_get_pixel a get_pixel.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parametry:

pxl Datová struktura pixel, do které se ukládají hodnoty pixelu. x, y Souřadnice x a y pixelu, který se má načíst ve vyrovnávací paměti obrazu.

Návratové hodnoty:

žádný, hodnoty pixelu jsou uloženy v předaném pixel

Získá jediný pixel z obrazového bufferu CMUcam3 (pixbuf). x a y musí být menší než pixbuf_get_width resp. pixbuf_get_height. Pokud nebyla zavolána funkce take_picture k uložení snímku do pixbuf, tato funkce neselže, ale hodnoty vložené do pixel budou nesmyslné.

image_new#

image_new(integer width, integer height)

Parametry:

width Šířka obrázku, height Výška obrázku

Návratové hodnoty:

Nová datová struktura image.

Získá novou datovou strukturu image s předanou šířkou, výškou a pixsize. Více informací o používání datových struktur image naleznete v dokumentaci image.

Získá pixel z předané datové struktury image. Hodnoty RGB pixelu budou uloženy do předané datové struktury pixel. Parametr x musí být menší než šířka image a y musí být menší než výška image.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parametry:

template_width Šířka šablony, kterou porovnáváme, template_height Výška šablony

Návratové hodnoty:

Nová datová struktura framediff

Získá novou datovou strukturu framediff s předanou šířkou a výškou šablony. Struktury framediff se obecně používají k vyhodnocení rozdílu mezi dvěma obrazovými snímky pořízenými pomocí CMUcam3, ale více informací naleznete v dokumentaci framediff.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parametry:

fd Objekt framediff, který má použít

Návratové hodnoty:

Vrací 1, pokud je úspěšné.

Inicializuje vše potřebné k provádění rozdílování snímků pomocí framediff_scanline. Zajistí, že je ve struktuře framediff nastavena current_template (nebo načte aktuální šablonu, pokud je framediff:get_load_frame() pravda).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parametry:

img Datová struktura image, fd Datová struktura framediff

Návratové hodnoty:

Vrací 1, pokud je úspěšné

Získá všechny pixely z img a načte je do správného slotu ve struktuře framediff, aby bylo možné porovnat dvě šablony (current_template a previous_template). Pokud je fd:get_load_frame pravda, načte pixely z img do slotu předchozí šablony. Pokud je fd:get_load_frame nepravda, načte pixely z img do current_template.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parametry:

fd Datová struktura framediff, kterou má použít

Návratové hodnoty:

Vrací 1, pokud byla operace úspěšná.

Porovná dvě šablony (current_template a previous_template) v datové struktuře framediff a vypočítá počet pixelů, které se liší, a uloží tuto hodnotu do framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Parametry:

žádný

Návratové hodnoty:

žádný

Vymažte grafickou obrazovku CamScripteru.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parametry:

objekt tracker použitý k provedení barevného sledování, nastavený na požadovanou hodnotu RGB.

Návratové hodnoty:

logická hodnota označující, zda sledování mohlo proběhnout. Vrací true, i když barva nebyla nalezena – vrací false pouze pokud došlo k chybě.

Sledujte barvu v CMUcam3 pomocí předaného objektu tracker. Před pokusem o sledování barvy musí být zavolána funkce take_picture(). Analyzuje vyrovnávací paměť obrazu a nastavuje hodnoty v objektu tracker, aby poskytla ohraničující rámeček pro barvu a hodnotu (x, y) představující těžiště barvy. Další podrobnosti naleznete v dokumentaci trackeru.