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âmera tentará enviar informações de depuração de texto e imagem pela porta serial. Desligue a depuração assim que um programa estiver concluído para melhorar o desempenho.
print#
Uso: print("a message") / print("one plus one is ", 1+1)
- Parâmetros:
Passe quantos valores desejar.
- Valores de Retorno:
nenhum
Função de depuração, usada para imprimir valores. A CMUcam3 enviará todos os valores passados para esta função ao plugin CamScripter do Eclipse, onde serão exibidos na área do Console.
turn_on_led#
turn_on_led(integer led_number)
- Parâmetros:
led_numberO número do LED da CMUcam3 a ser aceso. 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 ser aceso. 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 foto 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 pela porta serial para ser exibida na janela de depuração do CamScripter. Você deve chamar take_picture antes de chamar esta função - ela não tira uma foto por si só.
save_picture#
save_picture(string filename)
- Parâmetros:
filenameNome de arquivo sob o qual tentar salvar a imagem.- Valores de Retorno:
nenhum
Salva a imagem atualmente no buffer de imagem com o nome de arquivo fornecido. O nome do arquivo deve ser um nome de arquivo FAT16 válido <8.3>, ou um erro será retornado. Se um arquivo já existir com o nome fornecido, ele será sobrescrito. Observe que esta função não tira uma foto por si só - você deve chamar take_picture antes de chamar save_picture.
file_exists#
file_exists(string filename)
- Parâmetros:
filename- Valores de Retorno:
booleano indicando se o arquivo existe
Testa para ver se há um arquivo no cartão MMC/SD com o nome de arquivo fornecido.
camera_set_resolution#
camera_set_resolution(integer resolution)
- Parâmetros:
resolutionA nova resolução para a câmera- Valores de Retorno:
nenhum
Define a resolução da CMUcam3. A resolução deve ser high ou low (veja as Constantes de Resolução da Câmera em Lua API: Constantes).
camera_set_colorspace#
camera_set_colorspace(integer space)
- Parâmetros:
spaceA nova resolução para a câmera, deve serCC3_COLORSPACE_YCRCBOUCC3_COLORSPACE_RGB- Valores de Retorno:
nenhum
Define o espaço de cor da CMUcam3 como YCRCB ou RGB (RGB é o padrão). Veja também Lua API: Constantes.
wait#
wait(integer ms)
- Parâmetros:
msO número de milissegundos a esperar- Valores de Retorno:
nenhum
Aguarda por ms milissegundos.
pixbuf_set_coi#
pixbuf_set_coi(integer coi)
- Valores de Retorno:
nenhum
Define os canais de interesse para a câmera. Determina quais canais a câmera registra ao tirar fotos. Definir valores menores para COI pode acelerar o processamento de imagem. Os valores válidos para 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 no qual as linhas do pixbuf são lidas,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âmera (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 deve 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 deve 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 retorna uma nova estrutura de dados pixel. Consulte a documentação de pixel para detalhes sobre a estrutura. Veja também pixbuf_get_pixel e get_pixel para uso 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 recuperar dentro do buffer de imagem.- Valores de Retorno:
nenhum, os valores do pixel são armazenados no pixel passado
Obtém um único pixel de dentro do buffer de imagem (pixbuf) da CMUcam3. x e y devem ser menores que pixbuf_get_width e pixbuf_get_height, respectivamente. Se take_picture não tiver sido chamada 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 fornecidas. Consulte a documentação de image para mais informações sobre o uso de estruturas de dados image.
Obtém um pixel da estrutura de dados image fornecida. Os valores RGB do pixel serão armazenados na estrutura de dados pixel fornecida. O parâmetro x deve ser menor que a largura da image, e y deve ser menor que a altura da image.
framediff_new#
framediff_new(integer template_width, integer template_height)
- Parâmetros:
template_widthA largura do template que estamos comparando,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 de template fornecidas. As estruturas framediff são geralmente usadas para avaliar a diferença entre dois quadros de imagem capturados 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 ser usado- Valores de Retorno:
Retorna 1 se for bem-sucedido.
Inicializa tudo o que é necessário para fazer a diferenciação de quadros usando framediff_scanline. Garante que haja 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:
Retorna 1 se for bem-sucedido
Obtém todos os pixels de img e os carrega 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 ser usada- Valores de Retorno:
Retorna 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
Usa os dados no objeto tracker para imprimir informações de depuração no CamScripter. Imprime um retângulo representando a imagem no buffer de imagem da câmera, com outro retângulo dentro dele representando a caixa delimitadora da cor sendo rastreada, e um ponto vermelho mostrando 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 em coordenadas do canto superior esquerdo do retângulo, em distância a partir do canto superior esquerdo da tela gráfica.widtheheightsão a largura e a altura do retângulo. Os argumentos opcionaisred,greenebluefornecem a cor com que o retângulo será desenhado como um valor RGB. A cor padrão é preto.- Valores de Retorno:
nenhum
Desenha um retângulo com width pixels de largura e height pixels de altura na aba de gráficos do CamScripter. Argumentos opcionais red, green e blue permitem alterar a cor do retângulo usando 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 na tela de gráficos do CamScripter de (start_x, start_y) até (end_x, end_y). A cor RGB da linha pode ser especificada com argumentos opcionais red, green e blue. A cor padrão é preto, se nenhuma cor for especificada.
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 na tela 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 argumentos opcionais red, green e blue. A cor padrão é preto, se nenhuma cor for especificada.
clear_graphics#
clear_graphics()
- Parâmetros:
nenhum
- Valores de retorno:
nenhum
Limpa a tela de gráficos do CamScripter.
tracker_track_color#
tracker_track_color(tracker theTracker)
- Parâmetros:
o objeto tracker usado para fazer o rastreamento de cores, configurado com o valor RGB desejado a definir.
- Valores de retorno:
booleano indicando se o rastreamento pôde ocorrer. Retorna true mesmo se a cor não foi encontrada – só retorna false se ocorreu um erro.
Rastreia uma cor na CMUcam3 usando o objeto tracker fornecido. take_picture() deve ser chamada antes de tentar rastrear uma cor. Analisa o buffer de imagem e define valores no objeto tracker para fornecer uma caixa delimitadora para a cor e um valor (x, y) representando o centroide da cor. Consulte a documentação do tracker para mais detalhes.