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_xget_centroid_yget_densityget_num_pixelsget_x0get_x1get_y0get_y1set_lower_boundset_noise_filterset_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:
channelKanalen du ställer in en gräns för. Se konstanterna för kanal av intresse i Lua API: Konstanter.boundDet 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:
filterDet 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:
channelKanalen du ställer in en gräns för. Se konstanterna för kanal av intresse i Lua API: Konstanter.boundDet 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.