Lua API: tracker#

Descriere#

Structura de date tracker este utilizată pentru a asista urmărirea culorii în CMUcam3. Conține informații despre urmărirea efectuată și parametri care pot fi setați pentru a controla ce culoare este urmărită și alte aspecte ale urmăririi culorii. TODO: Add a good description of what hte bounding box is, and what the centroid is

Exemplu#

Iată un scurt exemplu care arată cum este utilizat obiectul tracker pentru a găsi o zonă roșie în cadrul de imagine al CMUcam3, iar apoi acea casetă este tipărită în zona de depanare CamScripter din 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)

Creare#

Consultați tracker_new

Metode#

  • 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()

Parametri:

niciuna

Valori returnate:

Coordonata x întreagă a centroidului

Obține coordonata x a centroidului culorii urmărite, unde (0, 0) este colțul din stânga sus al imaginii.

get_centroid_y#

trkr:get_centroid_y()

Parametri:

niciuna

Valori returnate:

Coordonata y întreagă a centroidului

Obține coordonata y a centroidului culorii urmărite, unde (0, 0) este colțul din stânga sus al imaginii.

get_density#

trkr:get_density()

Parametri:

niciuna

Valori returnate:

Densitatea culorii urmărite

Obține densitatea culorii urmărite în bufferul de imagine. Densitatea este o măsură a cât de densă este culoarea urmărită în interiorul casetei de delimitare a urmăritorului de culoare – cu cât sunt mai mulți pixeli ai culorii urmărite în casetă, cu atât densitatea este mai mare.

get_num_pixels#

trkr:get_num_pixels()

Parametri:

niciuna

Valori returnate:

Numărul de pixeli din bufferul de imagine care corespund culorii urmăritorului de culoare

Obține numărul total de pixeli ai culorii urmărite (așa cum este determinat de valorile RGB transmise către tracker_new) care au fost găsiți în bufferul de imagine al CMUcam3.

get_x0#

trkr:get_x0()

Parametri:

niciuna

Valori returnate:

Valoarea întreagă a coordonatei x a colțului din stânga sus al casetei de delimitare a urmăririi culorii.

Când este apelat tracker_track_color, acesta stabilește o casetă de delimitare care descrie limitele culorii urmărite în cadrul imaginii. (x0, y0) este locația colțului din stânga sus al acelei casete, iar (x1, y1) este locația colțului din dreapta jos al acelei casete în bufferul imaginii, unde (0, 0) este colțul din stânga sus al bufferului imaginii. get_x0 returnează coordonata x a colțului din stânga sus al casetei de delimitare a culorii.

get_y0#

trkr:get_y0()

Parametri:

niciuna

Valori returnate:

Valoarea întreagă a coordonatei y a colțului din stânga sus al casetei de delimitare a urmăririi culorii.

Când este apelat tracker_track_color, acesta stabilește o casetă de delimitare care descrie limitele culorii urmărite în cadrul imaginii. (x0, y0) este locația colțului din stânga sus al acelei casete, iar (x1, y1) este locația colțului din dreapta jos al acelei casete în bufferul imaginii, unde (0, 0) este colțul din stânga sus al bufferului imaginii. get_y0 returnează coordonata x a colțului din stânga sus al casetei de delimitare a culorii.

get_x1#

trkr:get_y1()

Parametri:

niciuna

Valori returnate:

Valoarea întreagă a coordonatei x a colțului din dreapta jos al casetei de delimitare a urmăririi culorii.

Când este apelat tracker_track_color, acesta stabilește o casetă de delimitare care descrie limitele culorii urmărite în cadrul imaginii. (x0, y0) este locația colțului din stânga sus al acelei casete, iar (x1, y1) este locația colțului din dreapta jos al acelei casete în bufferul imaginii, unde (0, 0) este colțul din stânga sus al bufferului imaginii. get_x1 returnează coordonata x a colțului din stânga sus al casetei de delimitare a culorii.

get_y1#

trkr:get_y1()

Parametri:

niciuna

Valori returnate:

Valoarea întreagă a coordonatei y a colțului din dreapta jos al casetei de delimitare a urmăririi culorii.

Când este apelat tracker_track_color, acesta stabilește o casetă de delimitare care descrie limitele culorii urmărite în cadrul imaginii. (x0, y0) este locația colțului din stânga sus al acelei casete, iar (x1, y1) este locația colțului din dreapta jos al acelei casete în bufferul imaginii, unde (0, 0) este colțul din stânga sus al bufferului imaginii. get_y1 returnează coordonata x a colțului din stânga sus al casetei de delimitare a culorii.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

Parametri:

channel Canalul pentru care setați o limită. Consultați constantele canalului de interes în Lua API: Constante. bound Valoarea minimă posibilă pentru canalul dat. Trebuie să fie între 0 și 255.

Valori returnate:

niciuna

Setează limita inferioară pentru un canal în urmăritorul de culoare. Limita inferioară este valoarea minimă pe care o poate avea un pixel în acel canal pentru a fi urmărit. În scopul urmăririi culorii, pentru ca orice pixel să fie considerat urmăribil, acel pixel trebuie să se afle între limita inferioară și cea superioară în fiecare dintre canalele sale.

set_noise_filter#

trkr:set_noise_filter(integer filter)

Parametri:

filter Noua valoare a filtrului de zgomot. Valoarea implicită este 2.

Valori returnate:

niciuna

Valoarea filtrului de zgomot determină câți pixeli activi consecutivi înainte de un pixel sunt necesari pentru ca pixelul să fie numărat ca fiind detectat de urmărirea culorii. Valoarea trebuie să fie între 0 și 255.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

Parametri:

channel Canalul pentru care setați o limită. Consultați constantele canalului de interes în Lua API: Constante. bound Valoarea maximă posibilă pentru canalul dat. Trebuie să fie între 0 și 255.

Valori returnate:

niciuna

Setează limita superioară pentru un canal în urmăritorul de culoare. Limita superioară este valoarea maximă pe care o poate avea un pixel în acel canal pentru a fi urmărit. În scopul urmăririi culorii, pentru ca orice pixel să fie considerat urmăribil, acel pixel trebuie să se afle între limita inferioară și cea superioară în fiecare dintre canalele sale.