Lua API: tracker#

Opis#

Struktura danych tracker służy do wspomagania śledzenia koloru w CMUcam3. Przechowuje informacje o wykonywanym śledzeniu oraz parametry, które można ustawić, aby kontrolować, który kolor jest śledzony, oraz inne aspekty śledzenia koloru. TODO: Add a good description of what hte bounding box is, and what the centroid is

Przykład#

Oto krótki przykład pokazujący, jak obiekt tracker jest używany do znalezienia czerwonego obszaru w klatce obrazu CMUcam3, a następnie ta ramka jest wypisywana w obszarze debugowania CamScripter w Eclipse.

trkr = tracker_new(195, 0, 0, 255, 45, 45); -- track red
trkr:set_noise_filter(3);  -- 2 is the default

take_picture();
tracker_track_color(trkr);
print_color_tracker(trkr);  -- print color tracker info to the screen
print("num pixels tracked: " .. trkr:get_num_pixels()); -- print number of red pixels found in the picture
-- print_picture(); -- uncomment this line to print the picture itself to the screen as well (slower)

Tworzenie#

Zobacz tracker_new

Metody#

  • get_centroid_x

  • get_centroid_y

  • get_density

  • get_num_pixels

  • get_x0

  • get_x1

  • get_y0

  • get_y1

  • set_lower_bound

  • set_noise_filter

  • set_upper_bound

get_centroid_x#

trkr:get_centroid_x()

Parametry:

brak

Wartości zwracane:

Całkowitoliczbowa współrzędna x środka ciężkości

Pobiera współrzędną x środka ciężkości śledzonego koloru, gdzie (0, 0) to lewy górny róg obrazu.

get_centroid_y#

trkr:get_centroid_y()

Parametry:

brak

Wartości zwracane:

Całkowitoliczbowa współrzędna y środka ciężkości

Pobiera współrzędną y środka ciężkości śledzonego koloru, gdzie (0, 0) to lewy górny róg obrazu.

get_density#

trkr:get_density()

Parametry:

brak

Wartości zwracane:

Gęstość śledzonego koloru

Pobiera gęstość koloru śledzonego w buforze obrazu. Gęstość to miara tego, jak gęsty jest śledzony kolor w ramce ograniczającej narzędzia śledzenia koloru – im więcej pikseli śledzonego koloru w ramce, tym wyższa gęstość.

get_num_pixels#

trkr:get_num_pixels()

Parametry:

brak

Wartości zwracane:

Liczba pikseli w buforze obrazu pasujących do koloru narzędzia śledzenia koloru

Pobiera całkowitą liczbę pikseli śledzonego koloru (określonego przez wartości RGB przekazane do tracker_new), które znaleziono w buforze obrazu CMUcam3.

get_x0#

trkr:get_x0()

Parametry:

brak

Wartości zwracane:

Całkowitoliczbowa wartość współrzędnej x lewego górnego rogu ramki ograniczającej śledzenia koloru.

Gdy wywoływane jest tracker_track_color, ustanawia ono ramkę ograniczającą, która opisuje granice śledzonego koloru w obrazie. (x0, y0) to położenie lewego górnego rogu tej ramki, a (x1, y1) to położenie prawego dolnego rogu tej ramki w buforze obrazu, gdzie (0, 0) to lewy górny róg bufora obrazu. get_x0 zwraca współrzędną x lewego górnego rogu ramki granic koloru.

get_y0#

trkr:get_y0()

Parametry:

brak

Wartości zwracane:

Całkowitoliczbowa wartość współrzędnej y lewego górnego rogu ramki ograniczającej śledzenia koloru.

Gdy wywoływane jest tracker_track_color, ustanawia ono ramkę ograniczającą, która opisuje granice śledzonego koloru w obrazie. (x0, y0) to położenie lewego górnego rogu tej ramki, a (x1, y1) to położenie prawego dolnego rogu tej ramki w buforze obrazu, gdzie (0, 0) to lewy górny róg bufora obrazu. get_y0 zwraca współrzędną x lewego górnego rogu ramki granic koloru.

get_x1#

trkr:get_y1()

Parametry:

brak

Wartości zwracane:

Całkowitoliczbowa wartość współrzędnej x prawego dolnego rogu ramki ograniczającej śledzenia koloru.

Gdy wywoływane jest tracker_track_color, ustanawia ono ramkę ograniczającą, która opisuje granice śledzonego koloru w obrazie. (x0, y0) to położenie lewego górnego rogu tej ramki, a (x1, y1) to położenie prawego dolnego rogu tej ramki w buforze obrazu, gdzie (0, 0) to lewy górny róg bufora obrazu. get_x1 zwraca współrzędną x lewego górnego rogu ramki granic koloru.

get_y1#

trkr:get_y1()

Parametry:

brak

Wartości zwracane:

Całkowitoliczbowa wartość współrzędnej y prawego dolnego rogu ramki ograniczającej śledzenia koloru.

Gdy wywoływane jest tracker_track_color, ustanawia ono ramkę ograniczającą, która opisuje granice śledzonego koloru w obrazie. (x0, y0) to położenie lewego górnego rogu tej ramki, a (x1, y1) to położenie prawego dolnego rogu tej ramki w buforze obrazu, gdzie (0, 0) to lewy górny róg bufora obrazu. get_y1 zwraca współrzędną x lewego górnego rogu ramki granic koloru.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

Parametry:

channel Kanał, dla którego ustawiasz granicę. Zobacz stałe interesującego kanału w Lua API: Stałe. bound Minimalna możliwa wartość dla danego kanału. Musi mieścić się między 0 a 255.

Wartości zwracane:

brak

Ustawia dolną granicę dla jednego kanału w narzędziu śledzenia koloru. Dolna granica to minimalna wartość, jaką piksel może mieć w tym kanale, aby był śledzony. Na potrzeby śledzenia koloru, aby dowolny piksel został uznany za możliwy do śledzenia, musi mieścić się między dolną a górną granicą w każdym ze swoich kanałów.

set_noise_filter#

trkr:set_noise_filter(integer filter)

Parametry:

filter Nowa wartość filtra szumów. Domyślnie 2.

Wartości zwracane:

brak

Wartość filtra szumów określa, ile kolejnych aktywnych pikseli przed pikselem jest wymaganych, zanim piksel zostanie policzony jako wykryty przez śledzenie koloru. Wartość musi mieścić się między 0 a 255.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

Parametry:

channel Kanał, dla którego ustawiasz granicę. Zobacz stałe interesującego kanału w Lua API: Stałe. bound Maksymalna możliwa wartość dla danego kanału. Musi mieścić się między 0 a 255.

Wartości zwracane:

brak

Ustawia górną granicę dla jednego kanału w narzędziu śledzenia koloru. Górna granica to maksymalna wartość, jaką piksel może mieć w tym kanale, aby był śledzony. Na potrzeby śledzenia koloru, aby dowolny piksel został uznany za możliwy do śledzenia, musi mieścić się między dolną a górną granicą w każdym ze swoich kanałów.