Lua API: tracker#
Descrizione#
La struttura dati tracker viene utilizzata per assistere il tracciamento del colore nella CMUcam3. Contiene informazioni sul tracciamento in corso e parametri che possono essere impostati per controllare quale colore viene tracciato e altri aspetti del tracciamento del colore. TODO: Add a good description of what hte bounding box is, and what the centroid is
Esempio#
Ecco un breve esempio che mostra come l’oggetto tracker viene utilizzato per trovare un’area rossa nel fotogramma della CMUcam3, e poi quel riquadro viene stampato nell’area di debug di CamScripter 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)
Creazione#
Consulta tracker_new
Metodi#
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()
- Parametri:
nessuno
- Valori di ritorno:
Coordinata x intera del centroide
Ottiene la coordinata x del centroide del colore tracciato, dove (0, 0) è l’angolo superiore sinistro dell’immagine.
get_centroid_y#
trkr:get_centroid_y()
- Parametri:
nessuno
- Valori di ritorno:
Coordinata y intera del centroide
Ottiene la coordinata y del centroide del colore tracciato, dove (0, 0) è l’angolo superiore sinistro dell’immagine.
get_density#
trkr:get_density()
- Parametri:
nessuno
- Valori di ritorno:
Densità del colore che viene tracciato
Ottiene la densità del colore tracciato all’interno del buffer immagine. La densità è una misura di quanto è denso il colore che viene tracciato all’interno del riquadro di delimitazione del color tracker – più pixel del colore tracciato ci sono nel riquadro, più alta è la densità.
get_num_pixels#
trkr:get_num_pixels()
- Parametri:
nessuno
- Valori di ritorno:
Numero di pixel nel buffer immagine corrispondenti al colore del color tracker
Ottiene il numero totale di pixel del colore tracciato (come determinato dai valori RGB passati a tracker_new) trovati nel buffer immagine della CMUcam3.
get_x0#
trkr:get_x0()
- Parametri:
nessuno
- Valori di ritorno:
Il valore intero della coordinata x dell’angolo superiore sinistro del riquadro di delimitazione del tracciamento del colore.
Quando tracker_track_color viene chiamato, stabilisce un riquadro di delimitazione che descrive i confini del colore tracciato all’interno dell’immagine. (x0, y0) è la posizione dell’angolo superiore sinistro di quel riquadro, e (x1, y1) è la posizione dell’angolo inferiore destro di quel riquadro all’interno del buffer dell’immagine, dove (0, 0) è l’angolo superiore sinistro del buffer dell’immagine. get_x0 restituisce la coordinata x dell’angolo superiore sinistro del riquadro di delimitazione del colore.
get_y0#
trkr:get_y0()
- Parametri:
nessuno
- Valori di ritorno:
Il valore intero della coordinata y dell’angolo superiore sinistro del riquadro di delimitazione del tracciamento del colore.
Quando tracker_track_color viene chiamato, stabilisce un riquadro di delimitazione che descrive i confini del colore tracciato all’interno dell’immagine. (x0, y0) è la posizione dell’angolo superiore sinistro di quel riquadro, e (x1, y1) è la posizione dell’angolo inferiore destro di quel riquadro all’interno del buffer dell’immagine, dove (0, 0) è l’angolo superiore sinistro del buffer dell’immagine. get_y0 restituisce la coordinata x dell’angolo superiore sinistro del riquadro di delimitazione del colore.
get_x1#
trkr:get_y1()
- Parametri:
nessuno
- Valori di ritorno:
Il valore intero della coordinata x dell’angolo inferiore destro del riquadro di delimitazione del tracciamento del colore.
Quando tracker_track_color viene chiamato, stabilisce un riquadro di delimitazione che descrive i confini del colore tracciato all’interno dell’immagine. (x0, y0) è la posizione dell’angolo superiore sinistro di quel riquadro, e (x1, y1) è la posizione dell’angolo inferiore destro di quel riquadro all’interno del buffer dell’immagine, dove (0, 0) è l’angolo superiore sinistro del buffer dell’immagine. get_x1 restituisce la coordinata x dell’angolo superiore sinistro del riquadro di delimitazione del colore.
get_y1#
trkr:get_y1()
- Parametri:
nessuno
- Valori di ritorno:
Il valore intero della coordinata y dell’angolo inferiore destro del riquadro di delimitazione del tracciamento del colore.
Quando tracker_track_color viene chiamato, stabilisce un riquadro di delimitazione che descrive i confini del colore tracciato all’interno dell’immagine. (x0, y0) è la posizione dell’angolo superiore sinistro di quel riquadro, e (x1, y1) è la posizione dell’angolo inferiore destro di quel riquadro all’interno del buffer dell’immagine, dove (0, 0) è l’angolo superiore sinistro del buffer dell’immagine. get_y1 restituisce la coordinata x dell’angolo superiore sinistro del riquadro di delimitazione del colore.
set_lower_bound#
trkr:set_lower_bound(integer channel, integer bound)
- Parametri:
channelIl canale per cui stai impostando un limite. Vedi le costanti del canale di interesse in Lua API: Costanti.boundIl valore minimo possibile per il canale dato. Deve essere compreso tra 0 e 255.- Valori di ritorno:
nessuno
Imposta il limite inferiore per un canale nel color tracker. Il limite inferiore è il valore minimo che un pixel può avere in quel canale per essere tracciato. Ai fini del tracciamento del colore, affinché un pixel sia considerato tracciabile, quel pixel deve trovarsi tra il limite inferiore e superiore in ciascuno dei suoi canali.
set_noise_filter#
trkr:set_noise_filter(integer filter)
- Parametri:
filterIl nuovo valore del filtro del rumore. Il valore predefinito è 2.- Valori di ritorno:
nessuno
Il valore del filtro del rumore determina quanti pixel attivi consecutivi prima di un pixel sono richiesti prima che il pixel debba essere conteggiato come rilevato dal tracciamento del colore. Il valore deve essere compreso tra 0 e 255.
set_upper_bound#
trkr:set_upper_bound(integer channel, integer bound)
- Parametri:
channelIl canale per cui stai impostando un limite. Vedi le costanti del canale di interesse in Lua API: Costanti.boundIl valore massimo possibile per il canale dato. Deve essere compreso tra 0 e 255.- Valori di ritorno:
nessuno
Imposta il limite superiore per un canale nel color tracker. Il limite superiore è il valore massimo che un pixel può avere in quel canale per essere tracciato. Ai fini del tracciamento del colore, affinché un pixel sia considerato tracciabile, quel pixel deve trovarsi tra il limite inferiore e superiore in ciascuno dei suoi canali.