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_numberHet 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_numberHet 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).
print_picture#
print_picture()
- Parameters:
geen
- Retourwaarden:
geen
Stuur de foto die zojuist is genomen via de seriële poort om te worden weergegeven in het CamScripter-debugvenster. Je moet take_picture aanroepen voordat je deze functie aanroept - hij maakt zelf geen foto.
save_picture#
save_picture(string filename)
- Parameters:
filenameBestandsnaam 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:
resolutionDe 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:
spaceDe nieuwe resolutie voor de camera, moet ofwelCC3_COLORSPACE_YCRCBOFCC3_COLORSPACE_RGBzijn- 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:
msHet 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:
imgEen image-object waarin pixbuf-rijen worden gelezen,num_rowsHet 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:
pxlDe pixel datastructuur waarin de pixelwaarden moeten worden opgeslagen.x,yDe 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:
widthDe breedte van het beeld,heightDe 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_widthDe breedte van de template waarvan we het verschil bepalen,template_heightDe 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:
fdHet 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:
- 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:
fdDe 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parameters:
trackerDe tracker levert de gegevens die worden gebruikt om af te drukken- Retourwaarden:
geen
Gebruikt de gegevens in het tracker-object om debuginformatie op de CamScripter af te drukken. Drukt een rechthoek af die het beeld in de camera-picture-buffer vertegenwoordigt, met daarin een andere rechthoek die de bounding box voor de gevolgde kleur vertegenwoordigt, en een rode stip die het zwaartepunt van de kleur in de foto toont.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parameters:
x,yis de coördinaatlocatie van de linkerbovenhoek van de rechthoek, in afstand vanaf de linkerbovenhoek van het grafiekscherm.widthenheightzijn de breedte en hoogte van de rechthoek. De optionele argumentenred,greenenbluegeven de kleur waarin de rechthoek wordt getekend als een RGB-waarde. De standaardkleur is zwart.- Retourwaarden:
geen
Tekent een rechthoek van width pixels breed en height pixels hoog op het CamScripter-grafiektabblad. Optionele rood-, groen- en blauw-argumenten maken het mogelijk de kleur van de rechthoek te wijzigen met RGB-waarden tussen 0 en 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parameters:
Het beginpunt en het eindpunt voor de lijn, en optionele argumenten om de kleur van de lijn in te stellen.
- Retourwaarden:
geen
Teken een lijn op het CamScripter-grafiekscherm van (start_x, start_y) naar (end_x, end_y). De RGB-kleur van de lijn kan worden opgegeven met optionele rood-, groen- en blauw-argumenten. De standaardkleur is zwart als er geen kleur is opgegeven.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parameters:
De linkerbovenhoek van de ovaal wordt gespecificeerd door (x, y). Breedte en hoogte zijn in pixels. Rood, groen en blauw zijn optionele argumenten om de kleur van de ovaal in te stellen.
- Retourwaarden:
geen
Teken een ovaal op het CamScripter-grafiekscherm. De linkerbovenhoek van de ovaal bevindt zich op het punt (x, y). De RGB-kleur van de ovaal kan worden opgegeven met optionele rood-, groen- en blauw-argumenten. De standaardkleur is zwart als er geen kleur is opgegeven.
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.