Lua API: Funcții#

set_debug#

set_debug(boolean debug_on)

Parametri:

debug_on – Transmiteți o valoare care se evaluează fie la true (depanare activată), fie la false (depanare dezactivată)

Valori returnate:

niciuna

Activați sau dezactivați depanarea. Când depanarea este activată, camera va încerca să trimită informații de depanare text și imagine prin portul serial. Dezactivați depanarea odată ce un program este finalizat pentru a îmbunătăți performanța.

print#

Utilizare: print("a message") / print("one plus one is ", 1+1)

Parametri:

Transmiteți câte valori doriți.

Valori returnate:

niciuna

Funcție de depanare, utilizată pentru a tipări valori. CMUcam3 va trimite toate valorile transmise acestei funcții către pluginul Eclipse CamScripter, unde vor fi afișate în zona Consolă.

turn_on_led#

turn_on_led(integer led_number)

Parametri:

led_number Numărul LED-ului CMUcam3 de aprins. 0, 1, 2 sunt singurele valori valide.

Valori returnate:

niciuna

Aprinde unul dintre LED-urile CMUcam3.

turn_off_led#

turn_off_led(integer led_number)

Parametri:

led_number Numărul LED-ului CMUcam3 de aprins. 0, 1, 2 sunt singurele valori valide.

Valori returnate:

niciuna

Stinge unul dintre LED-urile CMUcam3.

take_picture#

take_picture()

Parametri:

niciuna

Valori returnate:

niciuna

Faceți o fotografie cu CMUcam3 și încărcați bufferul de imagine (pixbuf).

save_picture#

save_picture(string filename)

Parametri:

filename Numele de fișier sub care să încercați să salvați imaginea.

Valori returnate:

niciuna

Salvează imaginea aflată în prezent în bufferul de imagine la numele de fișier transmis. Numele fișierului trebuie să fie un nume de fișier FAT16 valid <8.3>, altfel va fi returnată o eroare. Dacă există deja un fișier cu numele de fișier dat, acesta va fi suprascris. Rețineți că această funcție nu face o fotografie ea însăși - trebuie să apelați take_picture înainte de a apela save_picture.

file_exists#

file_exists(string filename)

Parametri:

filename

Valori returnate:

boolean care indică dacă fișierul există

Testează pentru a vedea dacă există un fișier pe cardul MMC/SD cu numele de fișier transmis.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parametri:

resolution Noua rezoluție pentru cameră

Valori returnate:

niciuna

Setează rezoluția CMUcam3. Rezoluția trebuie să fie fie înaltă, fie joasă (consultați constantele de rezoluție a camerei din Lua API: Constante).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parametri:

space Noua rezoluție pentru cameră, trebuie să fie fie CC3_COLORSPACE_YCRCB, fie CC3_COLORSPACE_RGB

Valori returnate:

niciuna

Setează spațiul de culoare pentru CMUcam3 fie la YCRCB, fie la RGB (RGB este valoarea implicită). Consultați, de asemenea, Lua API: Constante.

wait#

wait(integer ms)

Parametri:

ms Numărul de milisecunde de așteptat

Valori returnate:

niciuna

Așteaptă ms milisecunde.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Valori returnate:

niciuna

Setează canalele de interes pentru cameră. Determină ce canale înregistrează camera atunci când face fotografii. Setarea unor valori mai mici pentru COI poate accelera procesarea imaginii. Valorile permise pentru COI pot fi găsite în constantele canalului de interes din Lua API: Constante.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parametri:

img Un obiect imagine în care sunt citite rândurile pixbuf, num_rows Numărul de rânduri de citit

Valori returnate:

Numărul de rânduri care au fost citite cu succes

Copiază num_rows rânduri din bufferul de imagine al camerei (pixbuf) în obiectul image transmis.

pixbuf_get_width#

pixbuf_get_width()

Parametri:

niciuna

Valori returnate:

Lățimea pixbuf-ului în pixeli

Obține lățimea bufferului de imagine (pixbuf). Bufferul de imagine trebuie să fi fost încărcat înainte de a apela acest lucru, apelând fie take_picture, fie show_picture.

pixbuf_get_height#

pixbuf_get_height()

Parametri:

niciuna

Valori returnate:

Înălțimea pixbuf-ului în pixeli

Obține înălțimea bufferului de imagine (pixbuf). Bufferul de imagine trebuie să fi fost încărcat înainte de a apela acest lucru, apelând fie take_picture, fie show_picture.

pixel_new#

pixel_new()

Parametri:

niciuna

Valori returnate:

O nouă structură de date pixel

Creează și returnează o nouă structură de date pixel. Consultați documentația pixel pentru detalii despre structură. Consultați, de asemenea, pixbuf_get_pixel și get_pixel pentru utilizarea structurii pixel.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parametri:

pxl Structura de date pixel în care să stocați valorile pixelilor. x, y Coordonatele x și y ale pixelului de preluat din bufferul imaginii.

Valori returnate:

niciuna, valorile pixelilor sunt stocate în pixel transmis

Obține un singur pixel din bufferul de imagine al CMUcam3 (pixbuf). x și y trebuie să fie mai mici decât pixbuf_get_width și, respectiv, pixbuf_get_height. Dacă take_picture nu a fost apelat pentru a stoca o imagine în pixbuf, această funcție nu va eșua, dar valorile inserate în pixel vor fi lipsite de sens.

image_new#

image_new(integer width, integer height)

Parametri:

width Lățimea imaginii, height Înălțimea imaginii

Valori returnate:

O nouă structură de date image.

Obține o nouă structură de date image, cu lățimea, înălțimea și pixsize transmise. Consultați documentația image pentru mai multe informații despre utilizarea structurilor de date image.

Obține un pixel din structura de date image transmisă. Valorile RGB ale pixelului vor fi stocate în structura de date pixel transmisă. Parametrul x trebuie să fie mai mic decât lățimea image, iar y trebuie să fie mai mic decât înălțimea image.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parametri:

template_width Lățimea șablonului pe care îl diferențiem, template_height Înălțimea șablonului

Valori returnate:

O nouă structură de date framediff

Obține o nouă structură de date framediff, cu lățimea și înălțimea șablonului transmise. Structurile framediff sunt utilizate în general pentru evaluarea diferenței dintre două cadre de imagine realizate cu CMUcam3, dar consultați documentația framediff pentru mai multe informații.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parametri:

fd Obiectul framediff de utilizat

Valori returnate:

Returnează 1 în caz de succes.

Inițializează tot ce este necesar pentru a face diferențierea cadrelor folosind framediff_scanline. Se asigură că există un current_template setat în structura framediff (sau încarcă șablonul curent dacă framediff:get_load_frame() este adevărat).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parametri:

img O structură de date image, fd O structură de date framediff

Valori returnate:

Returnează 1 în caz de succes

Obține toți pixelii din img și îi încarcă în slotul corespunzător din structura framediff, astfel încât cele două șabloane (current_template și previous_template) să poată fi comparate. Dacă fd:get_load_frame este adevărat, va încărca pixelii din img în slotul șablonului anterior. Dacă fd:get_load_frame este fals, încarcă pixelii din img în current_template.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parametri:

fd Structura de date framediff de utilizat

Valori returnate:

Returnează 1 dacă operația a avut succes.

Compară cele două șabloane (current_template și previous_template) din structura de date framediff și calculează numărul de pixeli care sunt diferiți, stocând acea valoare în framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Parametri:

niciuna

Valori returnate:

niciuna

Ștergeți ecranul grafic CamScripter.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parametri:

obiectul tracker folosit pentru a face urmărirea culorilor, setat cu valoarea RGB dorită.

Valori returnate:

boolean care indică dacă urmărirea a putut avea loc. Returnează true chiar dacă culoarea nu a fost găsită – returnează false doar dacă a apărut o eroare.

Urmărește o culoare în CMUcam3 folosind obiectul tracker transmis. take_picture() trebuie apelat înainte de a încerca să urmăriți o culoare. Analizează bufferul imaginii și setează valori în obiectul tracker pentru a oferi o casetă de delimitare pentru culoare și o valoare (x, y) reprezentând centroidul culorii. Consultați documentația tracker-ului pentru mai multe detalii.