Lua API: Funktioner#
set_debug#
set_debug(boolean debug_on)
- Parametrar:
debug_on– Skicka ett värde som utvärderas till antingen true (felsökning på) eller false (felsökning av)- Returvärden:
ingen
Slå på eller av felsökning. När felsökning är på försöker kameran skicka text- och bildfelsökningsinformation över den seriella porten. Stäng av felsökning när ett program är klart för att förbättra prestandan.
print#
Användning: print("a message") / print("one plus one is ", 1+1)
- Parametrar:
Skicka så många värden som önskas.
- Returvärden:
ingen
Felsökningsfunktion, används för att skriva ut värden. CMUcam3 skickar alla värden som skickas till denna funktion till CamScripter-insticksprogrammet i Eclipse, där de visas i konsolområdet.
turn_on_led#
turn_on_led(integer led_number)
- Parametrar:
led_numberNumret på den CMUcam3-lysdiod som ska slås på. 0, 1, 2 är de enda giltiga värdena.- Returvärden:
ingen
Slå på en av CMUcam3:s lysdioder.
turn_off_led#
turn_off_led(integer led_number)
- Parametrar:
led_numberNumret på den CMUcam3-lysdiod som ska slås på. 0, 1, 2 är de enda giltiga värdena.- Returvärden:
ingen
Stäng av en av CMUcam3:s lysdioder.
take_picture#
take_picture()
- Parametrar:
ingen
- Returvärden:
ingen
Ta en bild med CMUcam3 och ladda bildbufferten (pixbuf).
print_picture#
print_picture()
- Parametrar:
ingen
- Returvärden:
ingen
Skicka bilden som just togs över den seriella porten för att visas i felsökningsfönstret CamScripter. Du måste anropa take_picture innan du anropar denna funktion - den tar inte en bild själv.
save_picture#
save_picture(string filename)
- Parametrar:
filenameFilnamn att försöka spara bilden under.- Returvärden:
ingen
Spara bilden som för närvarande finns i bildbufferten till det angivna filnamnet. Filnamnet måste vara ett giltigt FAT16-filnamn <8.3>, annars returneras ett fel. Om en fil redan finns med det angivna filnamnet skrivs den över. Observera att denna funktion inte tar en bild själv - du måste anropa take_picture innan du anropar save_picture.
file_exists#
file_exists(string filename)
- Parametrar:
filename- Returvärden:
boolean som anger om filen finns
Testa om det finns en fil på MMC/SD-kortet med det angivna filnamnet.
camera_set_resolution#
camera_set_resolution(integer resolution)
- Parametrar:
resolutionDen nya upplösningen för kameran- Returvärden:
ingen
Ställ in upplösningen för CMUcam3. Upplösningen måste vara antingen high eller low (se konstanterna för kameraupplösning i Lua API: Konstanter).
camera_set_colorspace#
camera_set_colorspace(integer space)
- Parametrar:
spaceDen nya upplösningen för kameran, måste vara antingenCC3_COLORSPACE_YCRCBELLERCC3_COLORSPACE_RGB- Returvärden:
ingen
Ställ in färgrymden för CMUcam3 till antingen YCRCB eller RGB (RGB är standard). Se även Lua API: Konstanter.
wait#
wait(integer ms)
- Parametrar:
msAntalet millisekunder att vänta- Returvärden:
ingen
Vänta i ms millisekunder.
pixbuf_set_coi#
pixbuf_set_coi(integer coi)
- Returvärden:
ingen
Ställ in kanalerna av intresse för kameran. Bestämmer vilka kanaler kameran registrerar när den tar bilder. Att ställa in mindre värden för COI kan snabba upp bildbearbetningen. Giltiga värden för COI finns i konstanterna för kanal av intresse i Lua API: Konstanter.
pixbuf_read_rows#
pixbuf_read_rows(image img, integer num_rows)
- Parametrar:
imgEtt bildobjekt som pixbuf-rader läses in i,num_rowsAntalet rader att läsa- Returvärden:
Antalet rader som lästes in korrekt
Kopiera num_rows rader från kamerans bildbuffert (pixbuf) till det angivna image-objektet.
pixbuf_get_width#
pixbuf_get_width()
- Parametrar:
ingen
- Returvärden:
Bredden på pixbuf i pixlar
Hämta bredden på bildbufferten (pixbuf). Bildbufferten måste ha laddats innan detta anropas genom att anropa antingen take_picture eller show_picture.
pixbuf_get_height#
pixbuf_get_height()
- Parametrar:
ingen
- Returvärden:
Höjden på pixbuf i pixlar
Hämta höjden på bildbufferten (pixbuf). Bildbufferten måste ha laddats innan detta anropas genom att anropa antingen take_picture eller show_picture.
pixel_new#
pixel_new()
- Parametrar:
ingen
- Returvärden:
En ny pixel-datastruktur
Skapar och returnerar en ny pixeldatastruktur. Se pixel-dokumentationen för detaljer om strukturen. Se även pixbuf_get_pixel och get_pixel för användning av pixel-strukturen.
get_pixel#
get_pixel(pixel pxl, integer x, integer y)
- Parametrar:
pxlpixel-datastrukturen som pixelvärdena ska lagras i.x,yx- och y-koordinaterna för pixeln som ska hämtas i bildbufferten.- Returvärden:
ingen, pixelvärdena lagras i den angivna pixel
Hämta en enda pixel från CMUcam3:s bildbuffert (pixbuf). x och y måste vara mindre än pixbuf_get_width respektive pixbuf_get_height. Om take_picture inte har anropats för att lagra en bild i pixbuf misslyckas denna funktion inte, men värdena som infogas i pixel blir skräp.
image_new#
image_new(integer width, integer height)
- Parametrar:
widthBildens bredd,heightBildens höjd- Returvärden:
En ny image-datastruktur.
Hämta en ny image-datastruktur, med den angivna bredden, höjden och pixsize. Se image-dokumentationen för mer information om hur du använder image-datastrukturer.
Hämta en pixel från den angivna datastrukturen image. Pixelns RGB-värden lagras i den angivna datastrukturen pixel. Parametern x måste vara mindre än bredden på image, och y måste vara mindre än höjden på image.
framediff_new#
framediff_new(integer template_width, integer template_height)
- Parametrar:
template_widthBredden på mallen vi jämför,template_heightHöjden på mallen- Returvärden:
En ny framediff-datastruktur
Hämta en ny framediff-datastruktur, med den angivna mallbredden och -höjden. framediff-strukturer används i allmänhet för att utvärdera skillnaden mellan två bildrutor tagna med CMUcam3, men se framediff-dokumentationen för mer information.
framediff_scanline_start#
framediff_scanline_start(framediff fd)
- Parametrar:
fdframediff-objektet att använda- Returvärden:
Returnerar 1 om det lyckas.
Initierar allt som behövs för att göra bildskillnadsberäkning med framediff_scanline. Säkerställer att det finns en current_template inställd i framediff-strukturen (eller laddar den aktuella mallen om framediff:get_load_frame() är sant).
framediff_scanline#
framediff_scanline(image img, framediff fd)
- Parametrar:
- Returvärden:
Returnerar 1 om det lyckas
Hämtar alla pixlar från img och laddar dem i rätt plats i framediff-strukturen, så att de två mallarna (current_template och previous_template) kan jämföras. Om fd:get_load_frame är sant laddas pixlarna i img in i platsen för den föregående mallen. Om fd:get_load_frame är falskt laddas pixlarna från img in i current_template.
framediff_scanline_finish#
framediff_scanline_finish(framediff fd)
- Parametrar:
fdframediff-datastrukturen att använda- Returvärden:
Returnerar 1 om operationen lyckades.
Jämför de två mallarna (current_template och previous_template) i datastrukturen framediff och beräknar antalet pixlar som skiljer sig åt, och lagrar det värdet i framediff:get_num_pixels.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parametrar:
trackertracker tillhandahåller datan som används för utskrift- Returvärden:
ingen
Använder datan i tracker-objektet för att skriva ut felsökningsinformation på CamScripter. Skriver ut en rektangel som representerar bilden i kamerans bildbuffert, med en annan rektangel inuti som representerar begränsningsrutan för den färg som spåras, och en röd prick som visar färgens tyngdpunkt i bilden.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parametrar:
x,yär koordinatplatsen för rektangelns övre vänstra hörn räknat som avstånd från grafikskärmens övre vänstra hörn.widthochheightär rektangelns bredd och höjd. De valfria argumentenred,greenochblueanger färgen som rektangeln ritas i som ett RGB-värde. Standardfärgen är svart.- Returvärden:
ingen
Ritar en rektangel som är width pixlar bred och height pixlar hög i CamScripters grafikflik. Valfria argument för rött, grönt och blått gör att rektangelns färg kan ändras med RGB-värden mellan 0 och 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parametrar:
Startpunkten och slutpunkten för linjen, och valfria argument för att ställa in linjens färg.
- Returvärden:
ingen
Rita en linje på CamScripters grafikskärm från (start_x, start_y) till (end_x, end_y). Linjens RGB-färg kan anges med valfria argument för rött, grönt och blått. Standardfärgen är svart om ingen färg anges.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parametrar:
Ovalens övre vänstra hörn anges av (x, y). Bredd och höjd är i pixlar. Red, green och blue är valfria argument för att ställa in ovalens färg.
- Returvärden:
ingen
Rita en oval på CamScripters grafikskärm. Ovalens övre vänstra hörn är i punkten (x, y). Ovalens RGB-färg kan anges med valfria argument för rött, grönt och blått. Standardfärgen är svart om ingen färg anges.
clear_graphics#
clear_graphics()
- Parametrar:
ingen
- Returvärden:
ingen
Rensa CamScripters grafikskärm.
tracker_track_color#
tracker_track_color(tracker theTracker)
- Parametrar:
objektet tracker som används för att utföra färgspårningen, satt med önskat RGB-värde som ska ställas in.
- Returvärden:
boolean som anger om spårningen kunde ske. Returnerar true även om färgen inte hittades – returnerar endast false om ett fel uppstod.
Spåra en färg i CMUcam3 med hjälp av det angivna tracker-objektet. take_picture() måste anropas innan du försöker spåra en färg. Analyserar bildbufferten och ställer in värden i tracker-objektet för att ge en begränsningsruta för färgen och ett (x, y)-värde som representerar färgens tyngdpunkt. Se tracker-dokumentationen för mer information.