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_numberNumă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_numberNumă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).
print_picture#
print_picture()
- Parametri:
niciuna
- Valori returnate:
niciuna
Trimite imaginea care tocmai a fost făcută prin portul serial pentru a fi afișată în fereastra de depanare CamScripter. Trebuie să apelați take_picture înainte de a apela această funcție - nu face o fotografie ea însăși.
save_picture#
save_picture(string filename)
- Parametri:
filenameNumele 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:
resolutionNoua 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:
spaceNoua rezoluție pentru cameră, trebuie să fie fieCC3_COLORSPACE_YCRCB, fieCC3_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:
msNumă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:
imgUn obiect imagine în care sunt citite rândurile pixbuf,num_rowsNumă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:
pxlStructura de date pixel în care să stocați valorile pixelilor.x,yCoordonatele 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:
widthLăț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_widthLăț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:
fdObiectul 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:
imgO structură de date image,fdO 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:
fdStructura 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parametri:
trackertracker furnizează datele folosite pentru tipărire- Valori returnate:
niciuna
Folosește datele din obiectul tracker pentru a tipări informații de depanare pe CamScripter. Tipărește un dreptunghi reprezentând imaginea din bufferul de imagine al camerei, cu un alt dreptunghi în interiorul acestuia reprezentând caseta de delimitare pentru culoarea urmărită și un punct roșu care arată centroidul culorii din imagine.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parametri:
x,yeste locația de coordonate a colțului din stânga sus al dreptunghiului, măsurată ca distanță față de colțul din stânga sus al ecranului grafic.widthșiheightsunt lățimea și înălțimea dreptunghiului. Argumentele opționalered,greenșibluedau culoarea în care va fi desenat dreptunghiul, ca valoare RGB. Culoarea implicită este negru.- Valori returnate:
niciuna
Desenează un dreptunghi lat de width pixeli și înalt de height pixeli în fila grafică CamScripter. Argumentele opționale red, green și blue permit schimbarea culorii dreptunghiului folosind valori RGB între 0 și 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parametri:
Punctul de plecare și punctul de sfârșit pentru linie și argumente opționale pentru a seta culoarea liniei.
- Valori returnate:
niciuna
Desenează o linie pe ecranul grafic CamScripter de la (start_x, start_y) la (end_x, end_y). Culoarea RGB a liniei poate fi specificată cu argumentele opționale red, green și blue. Culoarea implicită este negru, dacă nu este specificată nicio culoare.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parametri:
Colțul din stânga sus al elipsei este specificat de (x, y). Lățimea și înălțimea sunt în pixeli. Red, green și blue sunt argumente opționale pentru a seta culoarea elipsei.
- Valori returnate:
niciuna
Desenează o elipsă pe ecranul grafic CamScripter. Colțul din stânga sus al elipsei se află în punctul (x, y). Culoarea RGB a elipsei poate fi specificată cu argumentele opționale red, green și blue. Culoarea implicită este negru, dacă nu este specificată nicio culoare.
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.