Lua API:函数#

set_debug#

set_debug(boolean debug_on)

参数:

debug_on —— 传递一个求值为 true(调试打开)或 false(调试关闭)的值

返回值:

打开或关闭调试。调试打开时,相机将尝试通过串行端口发送文本和图像调试信息。程序完成后请关闭调试以提高性能。

print#

用法:print("a message") / print("one plus one is ", 1+1)

参数:

传递任意数量的值。

返回值:

调试函数,用于打印值。CMUcam3 会将传递给此函数的所有值发送到 CamScripter Eclipse 插件,在那里它们将显示在控制台区域中。

turn_on_led#

turn_on_led(integer led_number)

参数:

led_number要打开的 CMUcam3 LED 的编号。只有 0、1、2 是合法值。

返回值:

打开 CMUcam3 的一个 LED。

turn_off_led#

turn_off_led(integer led_number)

参数:

led_number要打开的 CMUcam3 LED 的编号。只有 0、1、2 是合法值。

返回值:

关闭 CMUcam3 的一个 LED。

take_picture#

take_picture()

参数:

返回值:

用 CMUcam3 拍照,并加载图片缓冲区 (pixbuf)。

save_picture#

save_picture(string filename)

参数:

filename尝试用来保存图片的文件名。

返回值:

将当前图片缓冲区中的图片保存到传入的文件名。文件名必须是有效的 FAT16 文件名 <8.3>,否则将返回错误。如果已存在具有给定文件名的文件,它将被覆盖。请注意,此函数本身不拍照——您必须在调用 save_picture 之前调用 take_picture。

file_exists#

file_exists(string filename)

参数:

filename

返回值:

指示文件是否存在的布尔值

测试 MMC/SD 卡上是否存在具有传入文件名的文件。

camera_set_resolution#

camera_set_resolution(integer resolution)

参数:

resolution相机的新分辨率

返回值:

设置 CMUcam3 的分辨率。分辨率必须是 high 或 low(参见 Lua API:常量 中的相机分辨率常量)。

camera_set_colorspace#

camera_set_colorspace(integer space)

参数:

space相机的新分辨率,必须是 CC3_COLORSPACE_YCRCBCC3_COLORSPACE_RGB

返回值:

将 CMUcam3 的颜色空间设置为 YCRCB 或 RGB(RGB 是默认值)。另请参阅 Lua API:常量

wait#

wait(integer ms)

参数:

ms要等待的毫秒数

返回值:

等待 ms 毫秒。

pixbuf_set_coi#

pixbuf_set_coi(integer coi)

返回值:

设置相机的关注通道。决定相机拍照时记录哪些通道。为 COI 设置较小的值可以加快图像处理速度。COI 的合法值可以在 Lua API:常量 中的关注通道常量中找到。

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

参数:

img一个读取 pixbuf 行的图像对象,num_rows要读取的行数

返回值:

成功读取的行数

将 num_rows 行从相机的图片缓冲区 (pixbuf) 复制到传入的 image 对象中。

pixbuf_get_width#

pixbuf_get_width()

参数:

返回值:

pixbuf 的宽度(以像素为单位)

获取图片缓冲区 (pixbuf) 的宽度。在调用此函数之前,必须已通过调用 take_picture 或 show_picture 加载了图片缓冲区。

pixbuf_get_height#

pixbuf_get_height()

参数:

返回值:

pixbuf 的高度(以像素为单位)

获取图片缓冲区 (pixbuf) 的高度。在调用此函数之前,必须已通过调用 take_picture 或 show_picture 加载了图片缓冲区。

pixel_new#

pixel_new()

参数:

返回值:

一个新的 pixel 数据结构

创建并返回一个新的 pixel 数据结构。有关该结构的详细信息,请参阅 pixel 文档。另请参阅 pixbuf_get_pixelget_pixel以了解 pixel 结构的用法。

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

参数:

pxl用于存储像素值的 pixel 数据结构。xy要在图片缓冲区内检索的像素的 x 和 y 坐标。

返回值:

无,像素值存储在传入的 pixel

从 CMUcam3 图片缓冲区 (pixbuf) 中获取单个 pixel。x 和 y 必须分别小于 pixbuf_get_widthpixbuf_get_height。如果尚未调用 take_picture将图片存储到 pixbuf 中,此函数不会失败,但插入到 pixel 中的值将是垃圾值。

image_new#

image_new(integer width, integer height)

参数:

width图像的宽度,height图像的高度

返回值:

一个新的 image 数据结构。

获取一个新的 image 数据结构,使用传入的宽度、高度和 pixsize。有关使用 image 数据结构的更多信息,请参阅 image 文档。

从传入的 image 数据结构中获取一个 pixel。该像素的 RGB 值将存储到传入的 pixel 数据结构中。参数 x 必须小于该 image的宽度,y 必须小于该 image的高度。

framediff_new#

framediff_new(integer template_width, integer template_height)

参数:

template_width我们正在差分的模板的宽度,template_height模板的高度

返回值:

一个新的 framediff 数据结构

获取一个新的 framediff 数据结构,使用传入的模板宽度和高度。framediff 结构通常用于评估用 CMUcam3 拍摄的两个图片帧之间的差异,但有关更多信息,请参阅 framediff 文档。

framediff_scanline_start#

framediff_scanline_start(framediff fd)

参数:

fd要使用的 framediff 对象

返回值:

如果成功则返回 1。

初始化使用 framediff_scanline进行帧差分所需的一切。确保在 framediff 结构中设置了 current_template(如果 framediff:get_load_frame()为 true,则加载当前模板)。

framediff_scanline#

framediff_scanline(image img, framediff fd)

参数:

img一个 image 数据结构,fd一个 framediff 数据结构

返回值:

如果成功则返回 1

从 img 获取所有像素,并将它们加载到 framediff 结构中适当的槽位,以便可以比较两个模板(current_template 和 previous_template)。如果 fd:get_load_frame 为 true,将把 img 中的像素加载到先前模板槽位。如果 fd:get_load_frame 为 false,则将 img 中的像素加载到 current_template。

framediff_scanline_finish#

framediff_scanline_finish(framediff fd)

参数:

fd要使用的 framediff 数据结构

返回值:

如果操作成功则返回 1。

比较 framediff 数据结构中的两个模板(current_template 和 previous_template),并计算不同像素的数量,将该值存储在 framediff:get_num_pixels 中。

clear_graphics#

clear_graphics()

参数:

返回值:

清除 CamScripter 图形屏幕。

tracker_track_color#

tracker_track_color(tracker theTracker)

参数:

用于进行颜色跟踪的 tracker 对象,设置为所需的 RGB 值。

返回值:

指示跟踪是否能够发生的布尔值。即使未找到颜色也返回 true——仅当发生错误时才返回 false。

使用传入的 tracker 对象在 CMUcam3 中跟踪颜色。在尝试跟踪颜色之前必须调用 take_picture()。分析图片缓冲区,并在 tracker 对象中设置值,以给出颜色的边界框和表示颜色质心的 (x, y) 值。有关更多详细信息,请参阅 tracker 文档