Lua-API: Funktionen#

set_debug#

set_debug(boolean debug_on)

Parameter:

debug_on – Übergeben Sie einen Wert, der entweder als wahr (Debugging ein) oder falsch (Debugging aus) ausgewertet wird

Rückgabewerte:

keine

Schaltet das Debugging ein oder aus. Wenn das Debugging eingeschaltet ist, versucht die Kamera, Text- und Bild-Debugging-Informationen über den seriellen Port zu senden. Schalten Sie das Debugging aus, sobald ein Programm fertig ist, um die Leistung zu verbessern.

print#

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

Parameter:

Übergeben Sie so viele Werte wie gewünscht.

Rückgabewerte:

keine

Debugging-Funktion, die zum Ausgeben von Werten verwendet wird. Die CMUcam3 sendet alle an diese Funktion übergebenen Werte an das CamScripter-Eclipse-Plugin, wo sie im Konsolenbereich angezeigt werden.

turn_on_led#

turn_on_led(integer led_number)

Parameter:

led_number Die Nummer der einzuschaltenden CMUcam3-LED. 0, 1, 2 sind die einzigen zulässigen Werte.

Rückgabewerte:

keine

Schaltet eine der CMUcam3-LEDs ein.

turn_off_led#

turn_off_led(integer led_number)

Parameter:

led_number Die Nummer der einzuschaltenden CMUcam3-LED. 0, 1, 2 sind die einzigen zulässigen Werte.

Rückgabewerte:

keine

Schaltet eine der CMUcam3-LEDs aus.

take_picture#

take_picture()

Parameter:

keine

Rückgabewerte:

keine

Nimmt mit der CMUcam3 ein Bild auf und lädt den Bildpuffer (pixbuf).

save_picture#

save_picture(string filename)

Parameter:

filename Dateiname, unter dem versucht werden soll, das Bild zu speichern.

Rückgabewerte:

keine

Speichern Sie das Bild, das sich derzeit im Bildpuffer befindet, unter dem übergebenen Dateinamen. Der Dateiname muss ein gültiger FAT16-Dateiname <8.3> sein, andernfalls wird ein Fehler zurückgegeben. Wenn bereits eine Datei mit dem angegebenen Dateinamen existiert, wird sie überschrieben. Beachten Sie, dass diese Funktion nicht selbst ein Bild aufnimmt - Sie müssen take_picture aufrufen, bevor Sie save_picture aufrufen.

file_exists#

file_exists(string filename)

Parameter:

filename

Rückgabewerte:

Boolescher Wert, der angibt, ob die Datei existiert

Prüft, ob sich auf der MMC/SD-Karte eine Datei mit dem übergebenen Dateinamen befindet.

camera_set_resolution#

camera_set_resolution(integer resolution)

Parameter:

resolution Die neue Auflösung für die Kamera

Rückgabewerte:

keine

Legt die Auflösung der CMUcam3 fest. Die Auflösung muss entweder hoch oder niedrig sein (siehe die Kameraauflösungs-Konstanten in Lua-API: Konstanten).

camera_set_colorspace#

camera_set_colorspace(integer space)

Parameter:

space Die neue Auflösung für die Kamera, muss entweder CC3_COLORSPACE_YCRCB ODER CC3_COLORSPACE_RGB sein

Rückgabewerte:

keine

Legt den Farbraum für die CMUcam3 entweder auf YCRCB oder RGB fest (RGB ist die Voreinstellung). Siehe auch Lua-API: Konstanten.

wait#

wait(integer ms)

Parameter:

ms Die Anzahl der zu wartenden Millisekunden

Rückgabewerte:

keine

Warten Sie ms Millisekunden.

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

Rückgabewerte:

keine

Legt die relevanten Kanäle für die Kamera fest. Bestimmt, welche Kanäle die Kamera bei der Aufnahme von Bildern erfasst. Das Einstellen kleinerer Werte für COI kann die Bildverarbeitung beschleunigen. Zulässige Werte für COI finden Sie in den Channel-of-Interest-Konstanten in Lua-API: Konstanten.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Parameter:

img Ein Bildobjekt, in das Pixbuf-Zeilen eingelesen werden, num_rows Die Anzahl der einzulesenden Zeilen

Rückgabewerte:

Die Anzahl der Zeilen, die erfolgreich gelesen wurden

Kopiert num_rows Zeilen aus dem Bildpuffer der Kamera (pixbuf) in das übergebene image-Objekt.

pixbuf_get_width#

pixbuf_get_width()

Parameter:

keine

Rückgabewerte:

Die Breite des pixbuf in Pixeln

Ruft die Breite des Bildpuffers (pixbuf) ab. Der Bildpuffer muss vor diesem Aufruf durch Aufrufen von entweder take_picture oder show_picture geladen worden sein.

pixbuf_get_height#

pixbuf_get_height()

Parameter:

keine

Rückgabewerte:

Die Höhe des pixbuf in Pixeln

Ruft die Höhe des Bildpuffers (pixbuf) ab. Der Bildpuffer muss vor diesem Aufruf durch Aufrufen von entweder take_picture oder show_picture geladen worden sein.

pixel_new#

pixel_new()

Parameter:

keine

Rückgabewerte:

Eine neue pixel-Datenstruktur

Erstellt und gibt eine neue Pixel-Datenstruktur zurück. Details zur Struktur finden Sie in der Pixel-Dokumentation. Siehe auch pixbuf_get_pixel und get_pixel für die Verwendung der pixel-Struktur.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Parameter:

pxl Die pixel-Datenstruktur, in der die Pixelwerte gespeichert werden. x, y Die x- und y-Koordinaten des abzurufenden Pixels innerhalb des Bildpuffers.

Rückgabewerte:

keine, die Pixelwerte werden im übergebenen pixel gespeichert

Ruft ein einzelnes Pixel aus dem Bildpuffer der CMUcam3 (pixbuf) ab. x und y müssen kleiner als pixbuf_get_width bzw. pixbuf_get_height sein. Wenn take_picture nicht aufgerufen wurde, um ein Bild im pixbuf zu speichern, schlägt diese Funktion nicht fehl, aber die in das Pixel eingefügten Werte sind unbrauchbar.

image_new#

image_new(integer width, integer height)

Parameter:

width Die Breite des Bildes, height Die Höhe des Bildes

Rückgabewerte:

Eine neue image-Datenstruktur.

Ruft eine neue Bild-Datenstruktur mit der übergebenen Breite, Höhe und pixsize ab. Weitere Informationen zur Verwendung von Bild-Datenstrukturen finden Sie in der Bild-Dokumentation.

Ruft ein Pixel aus der übergebenen Bild-Datenstruktur ab. Die RGB-Werte des Pixels werden in der übergebenen Pixel-Datenstruktur gespeichert. Der Parameter x muss kleiner als die Breite des Bildes sein, und y muss kleiner als die Höhe des Bildes sein.

framediff_new#

framediff_new(integer template_width, integer template_height)

Parameter:

template_width Die Breite der Vorlage, die wir vergleichen, template_height Die Höhe der Vorlage

Rückgabewerte:

Eine neue framediff-Datenstruktur

Ruft eine neue framediff-Datenstruktur mit der übergebenen Vorlagenbreite und -höhe ab. Die framediff-Strukturen werden im Allgemeinen zur Auswertung des Unterschieds zwischen zwei mit der CMUcam3 aufgenommenen Bildern verwendet; weitere Informationen finden Sie jedoch in der framediff-Dokumentation.

framediff_scanline_start#

framediff_scanline_start(framediff fd)

Parameter:

fd Das zu verwendende framediff-Objekt

Rückgabewerte:

Gibt 1 zurück, wenn erfolgreich.

Initialisiert alles, was für die Bilddifferenzierung mit framediff_scanline benötigt wird. Stellt sicher, dass in der framediff-Struktur eine current_template gesetzt ist (oder lädt die aktuelle Vorlage, wenn framediff:get_load_frame() true ist).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Parameter:

img Eine image-Datenstruktur, fd Eine framediff-Datenstruktur

Rückgabewerte:

Gibt 1 zurück, wenn erfolgreich

Ruft alle Pixel aus img ab und lädt sie in den passenden Slot der framediff-Struktur, sodass die beiden Vorlagen (current_template und previous_template) verglichen werden können. Wenn fd:get_load_frame true ist, werden die Pixel aus img in den Slot der vorherigen Vorlage geladen. Wenn fd:get_load_frame false ist, werden die Pixel aus img in current_template geladen.

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

Parameter:

fd Die zu verwendende framediff-Datenstruktur

Rückgabewerte:

Gibt 1 zurück, wenn die Operation erfolgreich war.

Vergleicht die beiden Templates (current_template und previous_template) in der Datenstruktur framediff und berechnet die Anzahl der Pixel, die unterschiedlich sind, wobei dieser Wert in framediff:get_num_pixels gespeichert wird.

clear_graphics#

clear_graphics()

Parameter:

keine

Rückgabewerte:

keine

Löschen Sie den CamScripter-Grafikbildschirm.

tracker_track_color#

tracker_track_color(tracker theTracker)

Parameter:

das tracker-Objekt, das zur Farbverfolgung verwendet wird, gesetzt mit dem gewünschten zu setzenden RGB-Wert.

Rückgabewerte:

Boolescher Wert, der angibt, ob die Verfolgung stattfinden konnte. Gibt auch dann true zurück, wenn die Farbe nicht gefunden wurde – gibt nur dann false zurück, wenn ein Fehler aufgetreten ist.

Verfolgt eine Farbe in der CMUcam3 mithilfe des übergebenen tracker-Objekts. take_picture() muss aufgerufen werden, bevor versucht wird, eine Farbe zu verfolgen. Analysiert den Bildpuffer und setzt Werte im tracker-Objekt, um einen Begrenzungsrahmen für die Farbe und einen (x, y)-Wert anzugeben, der den Schwerpunkt der Farbe darstellt. Weitere Details finden Sie in der Tracker-Dokumentation.