Lua API: Funkcje#
set_debug#
set_debug(boolean debug_on)
- Parametry:
debug_on– Przekaż wartość, która ewaluuje się do true (debugowanie włączone) lub false (debugowanie wyłączone)- Wartości zwracane:
brak
Włącza lub wyłącza debugowanie. Gdy debugowanie jest włączone, kamera będzie próbować wysyłać tekstowe i obrazowe informacje debugowania przez port szeregowy. Wyłącz debugowanie po zakończeniu programu, aby poprawić wydajność.
print#
Użycie: print("a message") / print("one plus one is ", 1+1)
- Parametry:
Przekaż tyle wartości, ile chcesz.
- Wartości zwracane:
brak
Funkcja debugowania, używana do wypisywania wartości. CMUcam3 wyśle wszystkie wartości przekazane do tej funkcji do wtyczki Eclipse CamScripter, gdzie zostaną wyświetlone w obszarze konsoli.
turn_on_led#
turn_on_led(integer led_number)
- Parametry:
led_numberNumer diody LED CMUcam3 do włączenia. 0, 1, 2 to jedyne dozwolone wartości.- Wartości zwracane:
brak
Włącz jedną z diod LED CMUcam3.
turn_off_led#
turn_off_led(integer led_number)
- Parametry:
led_numberNumer diody LED CMUcam3 do włączenia. 0, 1, 2 to jedyne dozwolone wartości.- Wartości zwracane:
brak
Wyłącz jedną z diod LED CMUcam3.
take_picture#
take_picture()
- Parametry:
brak
- Wartości zwracane:
brak
Robi zdjęcie za pomocą CMUcam3 i wczytuje bufor obrazu (pixbuf).
print_picture#
print_picture()
- Parametry:
brak
- Wartości zwracane:
brak
Wysyła zdjęcie właśnie zrobione przez port szeregowy, aby zostało wyświetlone w oknie debugowania CamScripter. Musisz wywołać take_picture przed wywołaniem tej funkcji - sama nie robi zdjęcia.
save_picture#
save_picture(string filename)
- Parametry:
filenameNazwa pliku, pod którą należy spróbować zapisać zdjęcie.- Wartości zwracane:
brak
Zapisuje obraz aktualnie znajdujący się w buforze obrazu pod przekazaną nazwą pliku. Nazwa pliku musi być poprawną nazwą pliku FAT16 <8.3>, w przeciwnym razie zostanie zwrócony błąd. Jeśli plik o podanej nazwie już istnieje, zostanie nadpisany. Zwróć uwagę, że ta funkcja sama nie robi zdjęcia - musisz wywołać take_picture przed wywołaniem save_picture.
file_exists#
file_exists(string filename)
- Parametry:
filename- Wartości zwracane:
wartość logiczna wskazująca, czy plik istnieje
Sprawdza, czy na karcie MMC/SD znajduje się plik o przekazanej nazwie.
camera_set_resolution#
camera_set_resolution(integer resolution)
- Parametry:
resolutionNowa rozdzielczość dla kamery- Wartości zwracane:
brak
Ustawia rozdzielczość CMUcam3. Rozdzielczość musi być wysoka lub niska (zobacz stałe rozdzielczości kamery w Lua API: Stałe).
camera_set_colorspace#
camera_set_colorspace(integer space)
- Parametry:
spaceNowa przestrzeń kolorów dla kamery, musi byćCC3_COLORSPACE_YCRCBLUBCC3_COLORSPACE_RGB- Wartości zwracane:
brak
Ustawia przestrzeń kolorów dla CMUcam3 na YCRCB lub RGB (RGB jest domyślna). Zobacz również Lua API: Stałe.
wait#
wait(integer ms)
- Parametry:
msLiczba milisekund oczekiwania- Wartości zwracane:
brak
Czeka przez ms milisekund.
pixbuf_set_coi#
pixbuf_set_coi(integer coi)
- Wartości zwracane:
brak
Ustawia interesujące kanały dla kamery. Określa, które kanały kamera rejestruje podczas robienia zdjęć. Ustawienie mniejszych wartości COI może przyspieszyć przetwarzanie obrazu. Dozwolone wartości COI można znaleźć w stałych interesującego kanału w Lua API: Stałe.
pixbuf_read_rows#
pixbuf_read_rows(image img, integer num_rows)
- Parametry:
imgObiekt obrazu, do którego wczytywane są wiersze pixbuf,num_rowsLiczba wierszy do odczytania- Wartości zwracane:
Liczba wierszy, które zostały pomyślnie odczytane
Kopiuje num_rows wierszy z bufora obrazu kamery (pixbuf) do przekazanego obiektu image.
pixbuf_get_width#
pixbuf_get_width()
- Parametry:
brak
- Wartości zwracane:
Szerokość pixbuf w pikselach
Pobiera szerokość bufora obrazu (pixbuf). Bufor obrazu musi być wczytany przed wywołaniem tego, przez wywołanie take_picture lub show_picture.
pixbuf_get_height#
pixbuf_get_height()
- Parametry:
brak
- Wartości zwracane:
Wysokość pixbuf w pikselach
Pobiera wysokość bufora obrazu (pixbuf). Bufor obrazu musi być wczytany przed wywołaniem tego, przez wywołanie take_picture lub show_picture.
pixel_new#
pixel_new()
- Parametry:
brak
- Wartości zwracane:
Nowa struktura danych pixel
Tworzy i zwraca nową strukturę danych pixel. Szczegóły dotyczące struktury znajdziesz w dokumentacji pixel. Zobacz również pixbuf_get_pixel i get_pixel, aby poznać użycie struktury pixel.
get_pixel#
get_pixel(pixel pxl, integer x, integer y)
- Parametry:
pxlStruktura danych pixel, w której należy zapisać wartości piksela.x,yWspółrzędne x i y piksela do pobrania w buforze obrazu.- Wartości zwracane:
brak, wartości pikseli są przechowywane w przekazanym pixel
Pobiera pojedynczy pixel z bufora obrazu CMUcam3 (pixbuf). x i y muszą być mniejsze niż odpowiednio pixbuf_get_width i pixbuf_get_height. Jeśli nie wywołano take_picture w celu zapisania obrazu w pixbuf, ta funkcja nie zawiedzie, ale wartości wstawione do pixel będą śmieciowe.
image_new#
image_new(integer width, integer height)
- Parametry:
widthSzerokość obrazu,heightWysokość obrazu- Wartości zwracane:
Nowa struktura danych image.
Pobiera nową strukturę danych image o przekazanej szerokości, wysokości i pixsize. Więcej informacji o używaniu struktur danych image znajdziesz w dokumentacji image.
Pobiera pixel z przekazanej struktury danych image. Wartości RGB piksela zostaną zapisane w przekazanej strukturze danych pixel. Parametr x musi być mniejszy niż szerokość image, a y musi być mniejszy niż wysokość image.
framediff_new#
framediff_new(integer template_width, integer template_height)
- Parametry:
template_widthSzerokość szablonu, który różnicujemy,template_heightWysokość szablonu- Wartości zwracane:
Nowa struktura danych framediff
Pobiera nową strukturę danych framediff o przekazanej szerokości i wysokości szablonu. Struktury framediff są zazwyczaj używane do oceny różnicy między dwiema klatkami obrazu zrobionymi przez CMUcam3, ale więcej informacji znajdziesz w dokumentacji framediff.
framediff_scanline_start#
framediff_scanline_start(framediff fd)
- Parametry:
fdObiekt framediff, którego należy użyć- Wartości zwracane:
Zwraca 1 w przypadku powodzenia.
Inicjalizuje wszystko, co potrzebne do różnicowania klatek za pomocą framediff_scanline. Upewnia się, że w strukturze framediff ustawiony jest current_template (lub wczytuje bieżący szablon, jeśli framediff:get_load_frame() jest prawdą).
framediff_scanline#
framediff_scanline(image img, framediff fd)
- Parametry:
- Wartości zwracane:
Zwraca 1 w przypadku powodzenia
Pobiera wszystkie piksele z img i wczytuje je do odpowiedniego miejsca w strukturze framediff, tak aby można było porównać dwa szablony (current_template i previous_template). Jeśli fd:get_load_frame jest prawdą, wczyta piksele z img do miejsca poprzedniego szablonu. Jeśli fd:get_load_frame jest fałszem, wczyta piksele z img do current_template.
framediff_scanline_finish#
framediff_scanline_finish(framediff fd)
- Parametry:
fdStruktura danych framediff, której należy użyć- Wartości zwracane:
Zwraca 1, jeśli operacja się powiodła.
Porównuje dwa szablony (current_template i previous_template) w strukturze danych framediff i oblicza liczbę pikseli, które się różnią, zapisując tę wartość w framediff:get_num_pixels.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parametry:
trackertracker dostarcza dane używane do wypisania- Wartości zwracane:
brak
Wykorzystuje dane w obiekcie tracker do wypisania informacji debugowania w CamScripter. Rysuje prostokąt reprezentujący obraz w buforze obrazu kamery, z kolejnym prostokątem wewnątrz reprezentującym ramkę ograniczającą śledzonego koloru oraz czerwoną kropką pokazującą środek ciężkości koloru w obrazie.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parametry:
x,yto położenie współrzędnych lewego górnego rogu prostokąta w odległości od lewego górnego rogu ekranu graficznego.widthiheightto szerokość i wysokość prostokąta. Opcjonalne argumentyred,greenibluepodają kolor, w jakim zostanie narysowany prostokąt, jako wartość RGB. Domyślnym kolorem jest czarny.- Wartości zwracane:
brak
Rysuje prostokąt o szerokości width pikseli i wysokości height pikseli w zakładce graficznej CamScripter. Opcjonalne argumenty red, green i blue pozwalają zmienić kolor prostokąta przy użyciu wartości RGB od 0 do 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parametry:
Punkt początkowy i punkt końcowy linii oraz opcjonalne argumenty ustawiające kolor linii.
- Wartości zwracane:
brak
Rysuje linię na ekranie graficznym CamScripter od (start_x, start_y) do (end_x, end_y). Kolor RGB linii można określić za pomocą opcjonalnych argumentów red, green i blue. Domyślnym kolorem jest czarny, jeśli nie określono koloru.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parametry:
Lewy górny róg owalu jest określony przez (x, y). Szerokość i wysokość są w pikselach. Red, green i blue to opcjonalne argumenty ustawiające kolor owalu.
- Wartości zwracane:
brak
Rysuje owal na ekranie graficznym CamScripter. Lewy górny róg owalu znajduje się w punkcie (x, y). Kolor RGB owalu można określić za pomocą opcjonalnych argumentów red, green i blue. Domyślnym kolorem jest czarny, jeśli nie określono koloru.
clear_graphics#
clear_graphics()
- Parametry:
brak
- Wartości zwracane:
brak
Wyczyść ekran graficzny CamScripter.
tracker_track_color#
tracker_track_color(tracker theTracker)
- Parametry:
obiekt tracker używany do śledzenia koloru, ustawiony na pożądaną wartość RGB.
- Wartości zwracane:
wartość logiczna wskazująca, czy śledzenie mogło się odbyć. Zwraca true nawet jeśli kolor nie został znaleziony – zwraca false tylko wtedy, gdy wystąpił błąd.
Śledzi kolor w CMUcam3 przy użyciu przekazanego obiektu tracker. take_picture() musi zostać wywołane przed próbą śledzenia koloru. Analizuje bufor obrazu i ustawia wartości w obiekcie tracker, aby podać ramkę ograniczającą koloru oraz wartość (x, y) reprezentującą środek ciężkości koloru. Więcej szczegółów znajdziesz w dokumentacji tracker.