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_xget_centroid_yget_densityget_num_pixelsget_x0get_x1get_y0get_y1set_lower_boundset_noise_filterset_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:
channelKanał, dla którego ustawiasz granicę. Zobacz stałe interesującego kanału w Lua API: Stałe.boundMinimalna 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:
filterNowa 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:
channelKanał, dla którego ustawiasz granicę. Zobacz stałe interesującego kanału w Lua API: Stałe.boundMaksymalna 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.