Lua API: Funções#
set_debug#
set_debug(boolean debug_on)
- Parâmetros:
debug_on– Passe um valor que resulte em true (depuração ligada) ou false (depuração desligada)- Valores de Retorno:
nenhum
Liga ou desliga a depuração. Quando a depuração está ligada, a câmara tentará enviar informação de depuração de texto e imagem através da porta série. Desligue a depuração assim que um programa estiver concluído para melhorar o desempenho.
print#
Utilização: print("a message") / print("one plus one is ", 1+1)
- Parâmetros:
Passe tantos valores quantos desejar.
- Valores de Retorno:
nenhum
Função de depuração, utilizada para imprimir valores. A CMUcam3 enviará todos os valores passados a esta função para o plugin do Eclipse CamScripter, onde serão apresentados na área de Consola.
turn_on_led#
turn_on_led(integer led_number)
- Parâmetros:
led_numberO número do LED da CMUcam3 a acender. 0, 1, 2 são os únicos valores válidos.- Valores de Retorno:
nenhum
Liga um dos LEDs da CMUcam3.
turn_off_led#
turn_off_led(integer led_number)
- Parâmetros:
led_numberO número do LED da CMUcam3 a acender. 0, 1, 2 são os únicos valores válidos.- Valores de Retorno:
nenhum
Desliga um dos LEDs da CMUcam3.
take_picture#
take_picture()
- Parâmetros:
nenhum
- Valores de Retorno:
nenhum
Tira uma imagem com a CMUcam3 e carrega o buffer de imagem (pixbuf).
print_picture#
print_picture()
- Parâmetros:
nenhum
- Valores de Retorno:
nenhum
Envia a imagem que acabou de ser tirada através da porta série para ser apresentada na janela de depuração do CamScripter. Tem de chamar take_picture antes de chamar esta função - ela não tira uma imagem por si só.
save_picture#
save_picture(string filename)
- Parâmetros:
filenameNome de ficheiro com o qual tentar guardar a imagem.- Valores de Retorno:
nenhum
Guarda a imagem atualmente no buffer de imagem no nome de ficheiro passado. O nome de ficheiro tem de ser um nome de ficheiro FAT16 válido <8.3>, ou será devolvido um erro. Se já existir um ficheiro com o nome dado, este será substituído. Note que esta função não tira uma imagem por si só - tem de chamar take_picture antes de chamar save_picture.
file_exists#
file_exists(string filename)
- Parâmetros:
filename- Valores de Retorno:
booleano que indica se o ficheiro existe
Testa para ver se existe um ficheiro no cartão MMC/SD com o nome de ficheiro passado.
camera_set_resolution#
camera_set_resolution(integer resolution)
- Parâmetros:
resolutionA nova resolução para a câmara- Valores de Retorno:
nenhum
Define a resolução da CMUcam3. A resolução tem de ser high ou low (consulte as Constantes de Resolução da Câmara em Lua API: Constantes).
camera_set_colorspace#
camera_set_colorspace(integer space)
- Parâmetros:
spaceA nova resolução para a câmara, deve serCC3_COLORSPACE_YCRCBOUCC3_COLORSPACE_RGB- Valores de Retorno:
nenhum
Define o espaço de cor da CMUcam3 para YCRCB ou RGB (RGB é a predefinição). Consulte também Lua API: Constantes.
wait#
wait(integer ms)
- Parâmetros:
msO número de milissegundos a esperar- Valores de Retorno:
nenhum
Aguarda ms milissegundos.
pixbuf_set_coi#
pixbuf_set_coi(integer coi)
- Valores de Retorno:
nenhum
Define os canais de interesse para a câmara. Determina quais os canais que a câmara regista ao tirar imagens. Definir valores menores para o COI pode acelerar o processamento de imagem. Os valores válidos para o COI podem ser encontrados nas Constantes de Canal de Interesse em Lua API: Constantes.
pixbuf_read_rows#
pixbuf_read_rows(image img, integer num_rows)
- Parâmetros:
imgUm objeto de imagem para o qual são lidas as linhas do pixbuf,num_rowsO número de linhas a ler- Valores de Retorno:
O número de linhas que foram lidas com sucesso
Copia num_rows linhas do buffer de imagem da câmara (pixbuf) para o objeto image passado.
pixbuf_get_width#
pixbuf_get_width()
- Parâmetros:
nenhum
- Valores de Retorno:
A largura do pixbuf em pixels
Obtém a largura do buffer de imagem (pixbuf). O buffer de imagem tem de ter sido carregado antes de chamar isto, chamando take_picture ou show_picture.
pixbuf_get_height#
pixbuf_get_height()
- Parâmetros:
nenhum
- Valores de Retorno:
A altura do pixbuf em pixels
Obtém a altura do buffer de imagem (pixbuf). O buffer de imagem tem de ter sido carregado antes de chamar isto, chamando take_picture ou show_picture.
pixel_new#
pixel_new()
- Parâmetros:
nenhum
- Valores de Retorno:
Uma nova estrutura de dados pixel
Cria e devolve uma nova estrutura de dados pixel. Consulte a documentação de pixel para detalhes sobre a estrutura. Consulte também pixbuf_get_pixel e get_pixel para utilização da estrutura pixel.
get_pixel#
get_pixel(pixel pxl, integer x, integer y)
- Parâmetros:
pxlA estrutura de dados pixel na qual armazenar os valores do pixel.x,yAs coordenadas x e y do pixel a obter dentro do buffer de imagem.- Valores de Retorno:
nenhum, os valores do pixel são armazenados no pixel passado como argumento
Obtém um único pixel de dentro do buffer de imagem da CMUcam3 (pixbuf). x e y têm de ser inferiores a pixbuf_get_width e pixbuf_get_height, respetivamente. Se take_picture não tiver sido chamado para armazenar uma imagem no pixbuf, esta função não falhará, mas os valores inseridos no pixel serão lixo.
image_new#
image_new(integer width, integer height)
- Parâmetros:
widthA largura da imagem,heightA altura da imagem- Valores de Retorno:
Uma nova estrutura de dados image.
Obtém uma nova estrutura de dados image, com a largura, altura e pixsize passadas. Consulte a documentação de image para mais informações sobre a utilização de estruturas de dados image.
Obtém um pixel da estrutura de dados image passada. Os valores RGB do pixel serão armazenados na estrutura de dados pixel passada. O parâmetro x tem de ser inferior à largura da image, e y tem de ser inferior à altura da image.
framediff_new#
framediff_new(integer template_width, integer template_height)
- Parâmetros:
template_widthA largura do template que estamos a comparar,template_heightA altura do template- Valores de Retorno:
Uma nova estrutura de dados framediff
Obtém uma nova estrutura de dados framediff, com a largura e altura do template passadas. As estruturas framediff são geralmente utilizadas para avaliar a diferença entre dois frames de imagem tirados com a CMUcam3, mas consulte a documentação de framediff para mais informações.
framediff_scanline_start#
framediff_scanline_start(framediff fd)
- Parâmetros:
fdO objeto framediff a usar- Valores de Retorno:
Devolve 1 se bem-sucedido.
Inicializa tudo o que é necessário para fazer frame differencing utilizando framediff_scanline. Garante que existe um current_template definido na estrutura framediff (ou carrega o template atual se framediff:get_load_frame() for verdadeiro).
framediff_scanline#
framediff_scanline(image img, framediff fd)
- Parâmetros:
imgUma estrutura de dados image,fdUma estrutura de dados framediff- Valores de Retorno:
Devolve 1 se bem-sucedido
Obtém todos os pixels de img e carrega-os no slot apropriado da estrutura framediff, para que os dois templates (current_template e previous_template) possam ser comparados. Se fd:get_load_frame for verdadeiro, carregará os pixels de img no slot do template anterior. Se fd:get_load_frame for falso, carrega os pixels de img no current_template.
framediff_scanline_finish#
framediff_scanline_finish(framediff fd)
- Parâmetros:
fdA estrutura de dados framediff a usar- Valores de Retorno:
Devolve 1 se a operação foi bem-sucedida.
Compara os dois templates (current_template e previous_template) na estrutura de dados framediff e calcula o número de pixels que são diferentes, armazenando esse valor em framediff:get_num_pixels.
print_color_tracker#
print_color_tracker(tracker tracker)
- Parâmetros:
trackerO tracker fornece os dados usados para imprimir- Valores de Retorno:
nenhum
Utiliza os dados no objeto tracker para imprimir informação de depuração no CamScripter. Imprime um retângulo que representa a imagem no buffer de imagem da câmara, com outro retângulo dentro dele que representa a caixa delimitadora da cor que está a ser seguida, e um ponto vermelho que mostra o centroide da cor dentro da imagem.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Parâmetros:
x,yé a localização das coordenadas do canto superior esquerdo do retângulo, em distância a partir do canto superior esquerdo do ecrã gráfico.widtheheightsão a largura e a altura do retângulo. Os argumentos opcionaisred,greeneblueindicam a cor com que o retângulo será desenhado, como um valor RGB. A cor predefinida é o preto.- Valores de Retorno:
nenhum
Desenha um retângulo com width pixels de largura e height pixels de altura no separador de gráficos do CamScripter. Os argumentos opcionais red, green e blue permitem alterar a cor do retângulo utilizando valores RGB entre 0 e 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Parâmetros:
O ponto inicial e o ponto final da linha, e argumentos opcionais para definir a cor da linha.
- Valores de Retorno:
nenhum
Desenha uma linha no ecrã de gráficos do CamScripter de (start_x, start_y) até (end_x, end_y). A cor RGB da linha pode ser especificada com os argumentos opcionais red, green e blue. A cor predefinida é preto, se não for especificada nenhuma cor.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Parâmetros:
O canto superior esquerdo da elipse é especificado por (x, y). A largura e a altura estão em pixels. Red, green e blue são argumentos opcionais para definir a cor da elipse.
- Valores de retorno:
nenhum
Desenha uma elipse no ecrã de gráficos do CamScripter. O canto superior esquerdo da elipse está no ponto (x, y). A cor RGB da elipse pode ser especificada com os argumentos opcionais red, green e blue. A cor predefinida é preto, se não for especificada nenhuma cor.
clear_graphics#
clear_graphics()
- Parâmetros:
nenhum
- Valores de retorno:
nenhum
Limpar o ecrã de gráficos do CamScripter.
tracker_track_color#
tracker_track_color(tracker theTracker)
- Parâmetros:
o objeto tracker usado para fazer o seguimento de cor, configurado com o valor RGB desejado a definir.
- Valores de retorno:
booleano que indica se o seguimento foi possível. Retorna true mesmo que a cor não tenha sido encontrada – só retorna false se ocorreu um erro.
Segue uma cor na CMUcam3 utilizando o objeto tracker passado. take_picture() tem de ser chamado antes de tentar seguir uma cor. Analisa o buffer de imagem e define valores no objeto tracker para dar uma caixa delimitadora para a cor e um valor (x, y) que representa o centroide da cor. Consulte a documentação do tracker para mais detalhes.