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_numberDie 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_numberDie 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).
print_picture#
print_picture()
- Parameter:
keine
- Rückgabewerte:
keine
Sendet das gerade aufgenommene Bild über die serielle Schnittstelle, damit es im Debug-Fenster von CamScripter angezeigt wird. Sie müssen take_picture aufrufen, bevor Sie diese Funktion aufrufen - sie nimmt selbst kein Bild auf.
save_picture#
save_picture(string filename)
- Parameter:
filenameDateiname, 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:
resolutionDie 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:
spaceDie neue Auflösung für die Kamera, muss entwederCC3_COLORSPACE_YCRCBODERCC3_COLORSPACE_RGBsein- 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:
msDie 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:
imgEin Bildobjekt, in das Pixbuf-Zeilen eingelesen werden,num_rowsDie 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:
pxlDie pixel-Datenstruktur, in der die Pixelwerte gespeichert werden.x,yDie 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:
widthDie Breite des Bildes,heightDie 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_widthDie Breite der Vorlage, die wir vergleichen,template_heightDie 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:
fdDas 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:
imgEine image-Datenstruktur,fdEine 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:
fdDie 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parameter:
trackerDer tracker liefert die zum Drucken verwendeten Daten- Rückgabewerte:
keine
Verwendet die Daten im tracker-Objekt, um Debugging-Informationen auf dem CamScripter auszugeben. Gibt ein Rechteck aus, das das Bild im Kamerabildpuffer darstellt, mit einem weiteren Rechteck darin, das den Begrenzungsrahmen für die verfolgte Farbe darstellt, und einem roten Punkt, der den Schwerpunkt der Farbe innerhalb des Bildes anzeigt.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parameter:
x,yist die Koordinatenposition der oberen linken Ecke des Rechtecks als Abstand von der oberen linken Ecke des Grafikbildschirms.widthundheightsind die Breite und Höhe des Rechtecks. Die optionalen Argumentered,greenundbluegeben die Farbe an, in der das Rechteck gezeichnet wird, als RGB-Wert. Die Standardfarbe ist Schwarz.- Rückgabewerte:
keine
Zeichnet ein Rechteck mit einer Breite von width Pixeln und einer Höhe von height Pixeln in der CamScripter-Grafikregisterkarte. Optionale Argumente red, green und blue ermöglichen es, die Farbe des Rechtecks anhand von RGB-Werten zwischen 0 und 255 zu ändern.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parameter:
Der Startpunkt und der Endpunkt für die Linie sowie optionale Argumente zum Festlegen der Farbe der Linie.
- Rückgabewerte:
keine
Zeichnen Sie eine Linie auf dem CamScripter-Grafikbildschirm von (start_x, start_y) nach (end_x, end_y). Die RGB-Farbe der Linie kann mit den optionalen Argumenten red, green und blue angegeben werden. Die Standardfarbe ist Schwarz, wenn keine Farbe angegeben wird.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parameter:
Die obere linke Ecke des Ovals wird durch (x, y) angegeben. Breite und Höhe sind in Pixeln. Rot, Grün und Blau sind optionale Argumente zum Festlegen der Farbe des Ovals.
- Rückgabewerte:
keine
Zeichnen Sie ein Oval auf dem CamScripter-Grafikbildschirm. Die obere linke Ecke des Ovals befindet sich am Punkt (x, y). Die RGB-Farbe des Ovals kann mit den optionalen Argumenten red, green und blue angegeben werden. Die Standardfarbe ist Schwarz, wenn keine Farbe angegeben 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.