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_number Numer 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_number Numer 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).

save_picture#

save_picture(string filename)

Parametry:

filename Nazwa 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:

resolution Nowa 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:

space Nowa przestrzeń kolorów dla kamery, musi być CC3_COLORSPACE_YCRCB LUB CC3_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:

ms Liczba 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:

img Obiekt obrazu, do którego wczytywane są wiersze pixbuf, num_rows Liczba 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:

pxl Struktura danych pixel, w której należy zapisać wartości piksela. x, y Współ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:

width Szerokość obrazu, height Wysokość 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_width Szerokość szablonu, który różnicujemy, template_height Wysokość 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:

fd Obiekt 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:

img Struktura danych image, fd Struktura danych framediff

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:

fd Struktura 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.

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.