Lua API: tracker#
Beschrijving#
De tracker-datastructuur wordt gebruikt om kleurtracking in de CMUcam3 te ondersteunen. Het bevat informatie over de tracking die wordt uitgevoerd, en parameters die kunnen worden ingesteld om te bepalen welke kleur wordt gevolgd en andere aspecten van de kleurtracking. TODO: Add a good description of what hte bounding box is, and what the centroid is
Voorbeeld#
Hier is een kort voorbeeld dat laat zien hoe het tracker-object wordt gebruikt om een rood gebied in het beeldframe van de CMUcam3 te vinden, waarna die box wordt afgedrukt naar het CamScripter-debuggebied in 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)
Aanmaken#
Zie tracker_new
Methoden#
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()
- Parameters:
geen
- Retourwaarden:
Integer x-coördinaat van het zwaartepunt
Haal de x-coördinaat op van het zwaartepunt van de kleur die wordt gevolgd, waarbij (0, 0) de linkerbovenhoek van de foto is.
get_centroid_y#
trkr:get_centroid_y()
- Parameters:
geen
- Retourwaarden:
Integer y-coördinaat van het zwaartepunt
Haal de y-coördinaat op van het zwaartepunt van de kleur die wordt gevolgd, waarbij (0, 0) de linkerbovenhoek van de foto is.
get_density#
trkr:get_density()
- Parameters:
geen
- Retourwaarden:
Dichtheid van de kleur die wordt gevolgd
Haal de dichtheid op van de kleur die binnen de picture buffer wordt gevolgd. Dichtheid is een maat voor hoe dicht de kleur die wordt gevolgd binnen de bounding box van de kleurtracker is – hoe meer pixels van de gevolgde kleur in de box, hoe hoger de dichtheid is.
get_num_pixels#
trkr:get_num_pixels()
- Parameters:
geen
- Retourwaarden:
Aantal pixels in de picture buffer dat overeenkomt met de kleur van de kleurtracker
Haal het totale aantal pixels op van de kleur die wordt gevolgd (zoals bepaald door de RGB-waarden die aan tracker_new zijn doorgegeven) die in de picture buffer van de CMUcam3 zijn gevonden.
get_x0#
trkr:get_x0()
- Parameters:
geen
- Retourwaarden:
De integerwaarde van de x-coördinaat van de linkerbovenhoek van de kleurtracking-bounding-box.
Wanneer tracker_track_color wordt aangeroepen, stelt het een bounding box vast die de grenzen beschrijft van de kleur die binnen de foto wordt gevolgd. (x0, y0) is de locatie van de linkerbovenhoek van die box, en (x1, y1) is de locatie van de rechterbenedenhoek van die box binnen de picture buffer, waarbij (0, 0) de linkerbovenhoek van de picture buffer is. get_x0 retourneert de x-coördinaat van de linkerbovenhoek van de kleurgrensbox.
get_y0#
trkr:get_y0()
- Parameters:
geen
- Retourwaarden:
De integerwaarde van de y-coördinaat van de linkerbovenhoek van de kleurtracking-bounding-box.
Wanneer tracker_track_color wordt aangeroepen, stelt het een bounding box vast die de grenzen beschrijft van de kleur die binnen de foto wordt gevolgd. (x0, y0) is de locatie van de linkerbovenhoek van die box, en (x1, y1) is de locatie van de rechterbenedenhoek van die box binnen de picture buffer, waarbij (0, 0) de linkerbovenhoek van de picture buffer is. get_y0 retourneert de x-coördinaat van de linkerbovenhoek van de kleurgrensbox.
get_x1#
trkr:get_y1()
- Parameters:
geen
- Retourwaarden:
De integerwaarde van de x-coördinaat van de rechterbenedenhoek van de kleurtracking-bounding-box.
Wanneer tracker_track_color wordt aangeroepen, stelt het een bounding box vast die de grenzen beschrijft van de kleur die binnen de foto wordt gevolgd. (x0, y0) is de locatie van de linkerbovenhoek van die box, en (x1, y1) is de locatie van de rechterbenedenhoek van die box binnen de picture buffer, waarbij (0, 0) de linkerbovenhoek van de picture buffer is. get_x1 retourneert de x-coördinaat van de linkerbovenhoek van de kleurgrensbox.
get_y1#
trkr:get_y1()
- Parameters:
geen
- Retourwaarden:
De integerwaarde van de y-coördinaat van de rechterbenedenhoek van de kleurtracking-bounding-box.
Wanneer tracker_track_color wordt aangeroepen, stelt het een bounding box vast die de grenzen beschrijft van de kleur die binnen de foto wordt gevolgd. (x0, y0) is de locatie van de linkerbovenhoek van die box, en (x1, y1) is de locatie van de rechterbenedenhoek van die box binnen de picture buffer, waarbij (0, 0) de linkerbovenhoek van de picture buffer is. get_y1 retourneert de x-coördinaat van de linkerbovenhoek van de kleurgrensbox.
set_lower_bound#
trkr:set_lower_bound(integer channel, integer bound)
- Parameters:
channelHet kanaal waarvoor je een grens instelt. Zie de constanten voor het kanaal van interesse in Lua API: Constanten.boundDe minimale waarde die mogelijk is voor het gegeven kanaal. Moet tussen 0 en 255 liggen.- Retourwaarden:
geen
Stel de ondergrens voor één kanaal in de kleurtracker in. De ondergrens is de minimale waarde die een pixel in dat kanaal kan hebben om te worden gevolgd. Voor kleurtrackingdoeleinden moet elke pixel, om als volgbaar te worden beschouwd, in elk van zijn kanalen tussen de onder- en bovengrens liggen.
set_noise_filter#
trkr:set_noise_filter(integer filter)
- Parameters:
filterDe nieuwe ruisfilterwaarde. Standaard is 2.- Retourwaarden:
geen
De ruisfilterwaarde bepaalt hoeveel opeenvolgende actieve pixels vóór een pixel vereist zijn voordat de pixel als gedetecteerd door kleurtracking moet worden geteld. De waarde moet tussen 0 en 255 liggen.
set_upper_bound#
trkr:set_upper_bound(integer channel, integer bound)
- Parameters:
channelHet kanaal waarvoor je een grens instelt. Zie de constanten voor het kanaal van interesse in Lua API: Constanten.boundDe maximale waarde die mogelijk is voor het gegeven kanaal. Moet tussen 0 en 255 liggen.- Retourwaarden:
geen
Stel de bovengrens voor één kanaal in de kleurtracker in. De bovengrens is de maximale waarde die een pixel in dat kanaal kan hebben om te worden gevolgd. Voor kleurtrackingdoeleinden moet elke pixel, om als volgbaar te worden beschouwd, in elk van zijn kanalen tussen de onder- en bovengrens liggen.