Lua API: tracker#

Beskrivning#

tracker-datastrukturen används för att hjälpa till med färgspårning i CMUcam3. Den håller information om spårningen som utförs, och parametrar som kan ställas in för att styra vilken färg som spåras och andra aspekter av färgspårningen. TODO: Add a good description of what hte bounding box is, and what the centroid is

Exempel#

Här är ett kort exempel som visar hur tracker-objektet används för att hitta ett rött område i CMUcam3:s bildruta, och sedan skrivs den rutan ut i CamScripters felsökningsområde i 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)

Skapande#

Se tracker_new

Metoder#

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

Parametrar:

ingen

Returvärden:

Heltals-x-koordinat för tyngdpunkten

Hämta x-koordinaten för tyngdpunkten för den spårade färgen, där (0, 0) är bildens övre vänstra hörn.

get_centroid_y#

trkr:get_centroid_y()

Parametrar:

ingen

Returvärden:

Heltals-y-koordinat för tyngdpunkten

Hämta y-koordinaten för tyngdpunkten för den spårade färgen, där (0, 0) är bildens övre vänstra hörn.

get_density#

trkr:get_density()

Parametrar:

ingen

Returvärden:

Densiteten för den färg som spåras

Hämta densiteten för den färg som spåras inom bildbufferten. Densitet är ett mått på hur tät den spårade färgen är inom färgspårarens begränsningsruta – ju fler pixlar av den spårade färgen i rutan, desto högre är densiteten.

get_num_pixels#

trkr:get_num_pixels()

Parametrar:

ingen

Returvärden:

Antal pixlar i bildbufferten som matchar färgspårarens färg

Hämta det totala antalet pixlar av den spårade färgen (som bestäms av de RGB-värden som skickas till tracker_new) som hittades i CMUcam3:s bildbuffert.

get_x0#

trkr:get_x0()

Parametrar:

ingen

Returvärden:

Heltalsvärdet för x-koordinaten för det övre vänstra hörnet av färgspårningens begränsningsruta.

När tracker_track_color anropas etablerar den en begränsningsruta som beskriver gränserna för den färg som spåras i bilden. (x0, y0) är platsen för det övre vänstra hörnet av den rutan, och (x1, y1) är platsen för det nedre högra hörnet av den rutan i bildbufferten, där (0, 0) är bildbuffertens övre vänstra hörn. get_x0 returnerar x-koordinaten för färggränsrutans övre vänstra hörn.

get_y0#

trkr:get_y0()

Parametrar:

ingen

Returvärden:

Heltalsvärdet för y-koordinaten för det övre vänstra hörnet av färgspårningens begränsningsruta.

När tracker_track_color anropas etablerar den en begränsningsruta som beskriver gränserna för den färg som spåras i bilden. (x0, y0) är platsen för det övre vänstra hörnet av den rutan, och (x1, y1) är platsen för det nedre högra hörnet av den rutan i bildbufferten, där (0, 0) är bildbuffertens övre vänstra hörn. get_y0 returnerar x-koordinaten för färggränsrutans övre vänstra hörn.

get_x1#

trkr:get_y1()

Parametrar:

ingen

Returvärden:

Heltalsvärdet för x-koordinaten för det nedre högra hörnet av färgspårningens begränsningsruta.

När tracker_track_color anropas etablerar den en begränsningsruta som beskriver gränserna för den färg som spåras i bilden. (x0, y0) är platsen för det övre vänstra hörnet av den rutan, och (x1, y1) är platsen för det nedre högra hörnet av den rutan i bildbufferten, där (0, 0) är bildbuffertens övre vänstra hörn. get_x1 returnerar x-koordinaten för färggränsrutans övre vänstra hörn.

get_y1#

trkr:get_y1()

Parametrar:

ingen

Returvärden:

Heltalsvärdet för y-koordinaten för det nedre högra hörnet av färgspårningens begränsningsruta.

När tracker_track_color anropas etablerar den en begränsningsruta som beskriver gränserna för den färg som spåras i bilden. (x0, y0) är platsen för det övre vänstra hörnet av den rutan, och (x1, y1) är platsen för det nedre högra hörnet av den rutan i bildbufferten, där (0, 0) är bildbuffertens övre vänstra hörn. get_y1 returnerar x-koordinaten för färggränsrutans övre vänstra hörn.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

Parametrar:

channel Kanalen du ställer in en gräns för. Se konstanterna för kanal av intresse i Lua API: Konstanter. bound Det lägsta möjliga värdet för den angivna kanalen. Måste vara mellan 0 och 255.

Returvärden:

ingen

Ställ in den nedre gränsen för en kanal i färgspåraren. Den nedre gränsen är det minsta värde en pixel kan ha i den kanalen för att spåras. För färgspårningsändamål måste en pixel, för att anses spårbar, ligga mellan den nedre och den övre gränsen i var och en av sina kanaler.

set_noise_filter#

trkr:set_noise_filter(integer filter)

Parametrar:

filter Det nya brusfiltervärdet. Standard är 2.

Returvärden:

ingen

Brusfiltervärdet avgör hur många på varandra följande aktiva pixlar före en pixel som krävs innan pixeln ska räknas som upptäckt av färgspårningen. Värdet måste vara mellan 0 och 255.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

Parametrar:

channel Kanalen du ställer in en gräns för. Se konstanterna för kanal av intresse i Lua API: Konstanter. bound Det högsta möjliga värdet för den angivna kanalen. Måste vara mellan 0 och 255.

Returvärden:

ingen

Ställ in den övre gränsen för en kanal i färgspåraren. Den övre gränsen är det största värde en pixel kan ha i den kanalen för att spåras. För färgspårningsändamål måste en pixel, för att anses spårbar, ligga mellan den nedre och den övre gränsen i var och en av sina kanaler.