Lua API: Functies#

set_debug#

set_debug(boolean debug_on)

Parameters:

debug_on – Geef een waarde door die evalueert tot ofwel true (debuggen aan) of false (debuggen uit)

Retourwaarden:

geen

Schakel debuggen aan of uit. Wanneer debuggen aan staat, zal de camera proberen tekst- en beelddebuginformatie via de seriële poort te verzenden. Schakel debuggen uit zodra een programma klaar is om de prestaties te verbeteren.

print#

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

Parameters:

Geef zoveel waarden door als gewenst.

Retourwaarden:

geen

Debugfunctie, gebruikt om waarden af te drukken. De CMUcam3 stuurt alle aan deze functie doorgegeven waarden naar de CamScripter Eclipse-plug-in, waar ze worden weergegeven in het Console-gebied.

turn_on_led#

turn_on_led(integer led_number)

Parameters:

led_number Het nummer van de CMUcam3-LED om aan te zetten. 0, 1, 2 zijn de enige geldige waarden.

Retourwaarden:

geen

Zet een van de CMUcam3-LED’s aan.

turn_off_led#

turn_off_led(integer led_number)

Parameters:

led_number Het nummer van de CMUcam3-LED om aan te zetten. 0, 1, 2 zijn de enige geldige waarden.

Retourwaarden:

geen

Zet een van de CMUcam3-LED’s uit.

take_picture#

take_picture()

Parameters:

geen

Retourwaarden:

geen

Maak een foto met de CMUcam3 en laad de picture buffer (pixbuf).

save_picture#

save_picture(string filename)

Parameters:

filename Bestandsnaam om te proberen de foto onder op te slaan.

Retourwaarden:

geen

Sla de foto die momenteel in de picture buffer staat op onder de opgegeven bestandsnaam. De bestandsnaam moet een geldige FAT16-bestandsnaam <8.3> zijn, anders wordt er een fout geretourneerd. Als er al een bestand met de opgegeven bestandsnaam bestaat, wordt het overschreven. Merk op dat deze functie zelf geen foto maakt - je moet take_picture aanroepen voordat je save_picture aanroept.

file_exists#

file_exists(string filename)

Parameters:

filename

Retourwaarden:

boolean die aangeeft of het bestand bestaat

Test of er een bestand op de MMC/SD-kaart bestaat met de opgegeven bestandsnaam.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parameters:

resolution De nieuwe resolutie voor de camera

Retourwaarden:

geen

Stel de resolutie van de CMUcam3 in. De resolutie moet ofwel hoog of laag zijn (zie de Camera Resolution Constants in Lua API: Constanten).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parameters:

space De nieuwe resolutie voor de camera, moet ofwel CC3_COLORSPACE_YCRCB OF CC3_COLORSPACE_RGB zijn

Retourwaarden:

geen

Stel de kleurruimte voor de CMUcam3 in op ofwel YCRCB of RGB (RGB is de standaard). Zie ook Lua API: Constanten.

wait#

wait(integer ms)

Parameters:

ms Het aantal te wachten milliseconden

Retourwaarden:

geen

Wacht ms milliseconden.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Retourwaarden:

geen

Stel de kanalen van interesse voor de camera in. Bepaalt welke kanalen de camera registreert bij het maken van foto’s. Het instellen van kleinere waarden voor COI kan de beeldverwerking versnellen. Geldige waarden voor COI zijn te vinden in de Channel of Interest Constants in Lua API: Constanten.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parameters:

img Een image-object waarin pixbuf-rijen worden gelezen, num_rows Het aantal te lezen rijen

Retourwaarden:

Het aantal rijen dat succesvol is gelezen

Kopieer num_rows rijen uit de picture buffer (pixbuf) van de camera naar het doorgegeven image-object.

pixbuf_get_width#

pixbuf_get_width()

Parameters:

geen

Retourwaarden:

De breedte van de pixbuf in pixels

Haal de breedte van de picture buffer (pixbuf) op. De picture buffer moet zijn geladen voordat je dit aanroept, door ofwel take_picture of show_picture aan te roepen.

pixbuf_get_height#

pixbuf_get_height()

Parameters:

geen

Retourwaarden:

De hoogte van de pixbuf in pixels

Haal de hoogte van de picture buffer (pixbuf) op. De picture buffer moet zijn geladen voordat je dit aanroept, door ofwel take_picture of show_picture aan te roepen.

pixel_new#

pixel_new()

Parameters:

geen

Retourwaarden:

Een nieuwe pixel datastructuur

Maakt en retourneert een nieuwe pixel-datastructuur. Zie de pixel-documentatie voor details over de structuur. Zie ook pixbuf_get_pixel en get_pixel voor het gebruik van de pixel-structuur.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parameters:

pxl De pixel datastructuur waarin de pixelwaarden moeten worden opgeslagen. x, y De x- en y-coördinaten van de op te halen pixel binnen de picture buffer.

Retourwaarden:

geen, de pixelwaarden worden opgeslagen in de doorgegeven pixel

Haal een enkele pixel op uit de picture buffer (pixbuf) van de CMUcam3. x en y moeten respectievelijk kleiner zijn dan pixbuf_get_width en pixbuf_get_height. Als take_picture niet is aangeroepen om een foto in de pixbuf op te slaan, zal deze functie niet mislukken, maar de waarden die in de pixel worden ingevoegd zijn onzin.

image_new#

image_new(integer width, integer height)

Parameters:

width De breedte van het beeld, height De hoogte van het beeld

Retourwaarden:

Een nieuwe image datastructuur.

Haal een nieuwe image datastructuur op, met de doorgegeven breedte, hoogte en pixsize. Zie de image-documentatie voor meer informatie over het gebruik van image datastructuren.

Haal een pixel op uit de doorgegeven image datastructuur. De RGB-waarden van de pixel worden opgeslagen in de doorgegeven pixel datastructuur. De parameter x moet kleiner zijn dan de breedte van de image, en y moet kleiner zijn dan de hoogte van de image.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parameters:

template_width De breedte van de template waarvan we het verschil bepalen, template_height De hoogte van de template

Retourwaarden:

Een nieuwe framediff datastructuur

Haal een nieuwe framediff datastructuur op, met de doorgegeven templatebreedte en -hoogte. framediff-structuren worden over het algemeen gebruikt voor het evalueren van het verschil tussen twee beeldframes die met de CMUcam3 zijn genomen, maar zie de framediff-documentatie voor meer informatie.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parameters:

fd Het te gebruiken framediff-object

Retourwaarden:

Retourneert 1 indien succesvol.

Initialiseert alles wat nodig is om frameverschil uit te voeren met framediff_scanline. Zorgt ervoor dat er een current_template is ingesteld in de framediff-structuur (of laadt de huidige template als framediff:get_load_frame() waar is).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parameters:

img Een image datastructuur, fd Een framediff datastructuur

Retourwaarden:

Retourneert 1 indien succesvol

Haalt alle pixels uit img en laadt ze in de juiste plaats in de framediff-structuur, zodat de twee templates (current_template en previous_template) kunnen worden vergeleken. Als fd:get_load_frame waar is, worden de pixels in img in de previous-template-plaats geladen. Als fd:get_load_frame onwaar is, worden de pixels uit img in de current_template geladen.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parameters:

fd De te gebruiken framediff datastructuur

Retourwaarden:

Retourneert 1 als de bewerking succesvol was.

Vergelijkt de twee templates (current_template en previous_template) in de framediff datastructuur en berekent het aantal pixels dat verschilt, waarbij die waarde wordt opgeslagen in framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Parameters:

geen

Retourwaarden:

geen

Wis het CamScripter-grafiekscherm.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parameters:

het tracker-object dat wordt gebruikt om de kleurtracking uit te voeren, ingesteld met de gewenste in te stellen RGB-waarde.

Retourwaarden:

boolean die aangeeft of de tracking kon plaatsvinden. Retourneert true, zelfs als de kleur niet is gevonden – retourneert alleen false als er een fout optrad.

Volg een kleur in de CMUcam3 met behulp van het doorgegeven tracker-object. take_picture() moet worden aangeroepen voordat je een kleur probeert te volgen. Analyseert de picture buffer en stelt waarden in het tracker-object in om een bounding box voor de kleur en een (x, y)-waarde die het zwaartepunt van de kleur vertegenwoordigt te geven. Zie de tracker-documentatie voor meer details.