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).
print_picture#
print_picture()
- Parametry:
žádný
- Návratové hodnoty:
žádný
Pošlete právě pořízený snímek přes sériový port, aby byl zobrazen v ladicím okně CamScripter. Před zavoláním této funkce musíte zavolat take_picture - sama snímek nepořizuje.
save_picture#
save_picture(string filename)
- Parametry:
filenameNá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:
resolutionNové 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:
spaceNové rozlišení kamery, musí být buďCC3_COLORSPACE_YCRCBNEBOCC3_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:
msPoč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:
imgObjekt image, do kterého se čtou řádky pixbuf,num_rowsPoč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:
pxlDatová struktura pixel, do které se ukládají hodnoty pixelu.x,ySouř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,heightVýš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_heightVýš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:
fdObjekt 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:
- 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:
fdDatová 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parametry:
trackertracker poskytuje data použitá k tisku- Návratové hodnoty:
žádný
Použije data v objektu tracker k vytištění ladicích informací na CamScripteru. Vytiskne obdélník představující obrázek ve vyrovnávací paměti obrazu kamery s dalším obdélníkem uvnitř představujícím ohraničující rámeček pro sledovanou barvu a červenou tečkou zobrazující těžiště barvy v obrázku.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parametry:
x,yje souřadnicová poloha levého horního rohu obdélníku ve vzdálenosti od levého horního rohu grafické obrazovky.widthaheightjsou šířka a výška obdélníku. Volitelné argumentyred,greenablueudávají barvu, ve které bude obdélník nakreslen, jako hodnotu RGB. Výchozí barva je černá.- Návratové hodnoty:
žádný
Nakreslí obdélník o šířce width pixelů a výšce height pixelů na kartě grafiky CamScripteru. Volitelné argumenty red, green a blue umožňují změnu barvy obdélníku pomocí hodnot RGB mezi 0 a 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parametry:
Výchozí bod a koncový bod čáry a volitelné argumenty k nastavení barvy čáry.
- Návratové hodnoty:
žádný
Nakreslete čáru na grafické obrazovce CamScripteru z (start_x, start_y) do (end_x, end_y). Barvu RGB čáry lze určit pomocí volitelných argumentů red, green a blue. Výchozí barva je černá, pokud není žádná barva zadána.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parametry:
Levý horní roh oválu je určen (x, y). Šířka a výška jsou v pixelech. Red, green a blue jsou volitelné argumenty k nastavení barvy oválu.
- Návratové hodnoty:
žádný
Nakreslete ovál na grafické obrazovce CamScripteru. Levý horní roh oválu je v bodě (x, y). Barvu RGB oválu lze určit pomocí volitelných argumentů red, green a blue. Výchozí barva je černá, pokud není žádná barva zadána.
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.