Lua API: tracker#

Descrição#

A estrutura de dados tracker é utilizada para auxiliar o seguimento de cor na CMUcam3. Contém informação sobre o seguimento a ser feito, e parâmetros que podem ser definidos para controlar qual a cor seguida e outros aspetos do seguimento de cor. TODO: Add a good description of what hte bounding box is, and what the centroid is

Exemplo#

Aqui está um pequeno exemplo que mostra como o objeto tracker é utilizado para encontrar uma área vermelha no frame de imagem da CMUcam3, e depois essa caixa é impressa na área de depuração do CamScripter no 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)

Criação#

Consulte tracker_new

Métodos#

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

Parâmetros:

nenhum

Valores de Retorno:

Coordenada x inteira do centroide

Obtém a coordenada x do centroide da cor que está a ser seguida, onde (0, 0) é o canto superior esquerdo da imagem.

get_centroid_y#

trkr:get_centroid_y()

Parâmetros:

nenhum

Valores de Retorno:

Coordenada y inteira do centroide

Obtém a coordenada y do centroide da cor que está a ser seguida, onde (0, 0) é o canto superior esquerdo da imagem.

get_density#

trkr:get_density()

Parâmetros:

nenhum

Valores de Retorno:

Densidade da cor que está a ser seguida

Obtém a densidade da cor seguida dentro do buffer de imagem. A densidade é uma medida de quão densa é a cor que está a ser seguida dentro da caixa delimitadora do color tracker – quantos mais pixels da cor seguida existirem na caixa, maior é a densidade.

get_num_pixels#

trkr:get_num_pixels()

Parâmetros:

nenhum

Valores de Retorno:

Número de pixels no buffer de imagem que correspondem à cor do color tracker

Obtém o número total de pixels da cor que está a ser seguida (conforme determinado pelos valores RGB passados a tracker_new) que foram encontrados no buffer de imagem da CMUcam3.

get_x0#

trkr:get_x0()

Parâmetros:

nenhum

Valores de Retorno:

O valor inteiro da coordenada x do canto superior esquerdo da caixa delimitadora de seguimento de cor.

Quando tracker_track_color é chamado, estabelece uma caixa delimitadora que descreve os limites da cor que está a ser seguida dentro da imagem. (x0, y0) é a localização do canto superior esquerdo dessa caixa, e (x1, y1) é a localização do canto inferior direito dessa caixa dentro do buffer de imagem, onde (0, 0) é o canto superior esquerdo do buffer de imagem. get_x0 devolve a coordenada x do canto superior esquerdo da caixa delimitadora de cor.

get_y0#

trkr:get_y0()

Parâmetros:

nenhum

Valores de Retorno:

O valor inteiro da coordenada y do canto superior esquerdo da caixa delimitadora de seguimento de cor.

Quando tracker_track_color é chamado, estabelece uma caixa delimitadora que descreve os limites da cor que está a ser seguida dentro da imagem. (x0, y0) é a localização do canto superior esquerdo dessa caixa, e (x1, y1) é a localização do canto inferior direito dessa caixa dentro do buffer de imagem, onde (0, 0) é o canto superior esquerdo do buffer de imagem. get_y0 devolve a coordenada x do canto superior esquerdo da caixa delimitadora de cor.

get_x1#

trkr:get_y1()

Parâmetros:

nenhum

Valores de Retorno:

O valor inteiro da coordenada x do canto inferior direito da caixa delimitadora de seguimento de cor.

Quando tracker_track_color é chamado, estabelece uma caixa delimitadora que descreve os limites da cor que está a ser seguida dentro da imagem. (x0, y0) é a localização do canto superior esquerdo dessa caixa, e (x1, y1) é a localização do canto inferior direito dessa caixa dentro do buffer de imagem, onde (0, 0) é o canto superior esquerdo do buffer de imagem. get_x1 devolve a coordenada x do canto superior esquerdo da caixa delimitadora de cor.

get_y1#

trkr:get_y1()

Parâmetros:

nenhum

Valores de Retorno:

O valor inteiro da coordenada y do canto inferior direito da caixa delimitadora de seguimento de cor.

Quando tracker_track_color é chamado, estabelece uma caixa delimitadora que descreve os limites da cor que está a ser seguida dentro da imagem. (x0, y0) é a localização do canto superior esquerdo dessa caixa, e (x1, y1) é a localização do canto inferior direito dessa caixa dentro do buffer de imagem, onde (0, 0) é o canto superior esquerdo do buffer de imagem. get_y1 devolve a coordenada x do canto superior esquerdo da caixa delimitadora de cor.

set_lower_bound#

trkr:set_lower_bound(integer channel, integer bound)

Parâmetros:

channel O canal para o qual está a definir um limite. Consulte as constantes do canal de interesse em Lua API: Constantes. bound O valor mínimo possível para o canal dado. Deve estar entre 0 e 255.

Valores de Retorno:

nenhum

Define o limite inferior para um canal no color tracker. O limite inferior é o valor mínimo que um pixel pode ter nesse canal para ser seguido. Para fins de seguimento de cor, para que qualquer pixel seja considerado seguível, esse pixel tem de estar entre o limite inferior e superior em cada um dos seus canais.

set_noise_filter#

trkr:set_noise_filter(integer filter)

Parâmetros:

filter O novo valor do filtro de ruído. O valor predefinido é 2.

Valores de Retorno:

nenhum

O valor do noise filter determina quantos pixels ativos consecutivos antes de um pixel são necessários para que o pixel seja contado como detetado pelo seguimento de cor. O valor tem de estar entre 0 e 255.

set_upper_bound#

trkr:set_upper_bound(integer channel, integer bound)

Parâmetros:

channel O canal para o qual está a definir um limite. Consulte as constantes do canal de interesse em Lua API: Constantes. bound O valor máximo possível para o canal dado. Deve estar entre 0 e 255.

Valores de Retorno:

nenhum

Define o limite superior para um canal no color tracker. O limite superior é o valor máximo que um pixel pode ter nesse canal para ser seguido. Para fins de seguimento de cor, para que qualquer pixel seja considerado seguível, esse pixel tem de estar entre o limite inferior e superior em cada um dos seus canais.