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_xget_centroid_yget_densityget_num_pixelsget_x0get_x1get_y0get_y1set_lower_boundset_noise_filterset_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:
channelO canal para o qual está a definir um limite. Consulte as constantes do canal de interesse em Lua API: Constantes.boundO 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:
filterO 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:
channelO canal para o qual está a definir um limite. Consulte as constantes do canal de interesse em Lua API: Constantes.boundO 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.