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_number O 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_number O 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).

save_picture#

save_picture(string filename)

Parâmetros:

filename Nome 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:

resolution A 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:

space A nova resolução para a câmera, deve ser CC3_COLORSPACE_YCRCB OU CC3_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:

ms O 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:

img Um objeto de imagem no qual as linhas do pixbuf são lidas, num_rows O 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:

pxl A estrutura de dados pixel na qual armazenar os valores do pixel. x, y As 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:

width A largura da imagem, height A 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_width A largura do template que estamos comparando, template_height A 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:

fd O 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:

img Uma estrutura de dados image, fd Uma 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:

fd A 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.

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.