Lua API:tracker#
说明#
tracker 数据结构用于辅助 CMUcam3 中的颜色跟踪。它保存有关正在进行的跟踪的信息,以及可以设置以控制跟踪哪种颜色和颜色跟踪其他方面的参数。TODO:添加对边界框是什么以及质心是什么的良好描述
示例#
这是一个简短的示例,展示了如何使用 tracker 对象在 CMUcam3 图片帧中查找红色区域,然后将该框打印到 Eclipse 中的 CamScripter 调试区域。
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)
创建#
参见 tracker_new
方法#
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()
- 参数:
无
- 返回值:
质心的整数 x 坐标
获取被跟踪颜色质心的 x 坐标,其中 (0, 0) 是图片的左上角。
get_centroid_y#
trkr:get_centroid_y()
- 参数:
无
- 返回值:
质心的整数 y 坐标
获取被跟踪颜色质心的 y 坐标,其中 (0, 0) 是图片的左上角。
get_density#
trkr:get_density()
- 参数:
无
- 返回值:
被跟踪颜色的密度
获取图片缓冲区内被跟踪颜色的密度。密度是衡量被跟踪颜色在颜色跟踪器边界框内密集程度的指标——框内被跟踪颜色的像素越多,密度就越高。
get_num_pixels#
trkr:get_num_pixels()
- 参数:
无
- 返回值:
图片缓冲区中与颜色跟踪器颜色匹配的像素数量
获取在 CMUcam3 图片缓冲区中找到的被跟踪颜色(由传递给 tracker_new 的 RGB 值确定)的像素总数。
get_x0#
trkr:get_x0()
- 参数:
无
- 返回值:
颜色跟踪边界框左上角的 x 坐标整数值。
调用 tracker_track_color 时,它会建立一个边界框,描述图片中被跟踪颜色的边界。(x0, y0) 是图片缓冲区中该框左上角的位置,(x1, y1) 是该框右下角的位置,其中 (0, 0) 是图片缓冲区的左上角。get_x0 返回颜色边界框左上角的 x 坐标。
get_y0#
trkr:get_y0()
- 参数:
无
- 返回值:
颜色跟踪边界框左上角的 y 坐标整数值。
调用 tracker_track_color 时,它会建立一个边界框,描述图片中被跟踪颜色的边界。(x0, y0) 是图片缓冲区中该框左上角的位置,(x1, y1) 是该框右下角的位置,其中 (0, 0) 是图片缓冲区的左上角。get_y0 返回颜色边界框左上角的 x 坐标。
get_x1#
trkr:get_y1()
- 参数:
无
- 返回值:
颜色跟踪边界框右下角的 x 坐标整数值。
调用 tracker_track_color 时,它会建立一个边界框,描述图片中被跟踪颜色的边界。(x0, y0) 是图片缓冲区中该框左上角的位置,(x1, y1) 是该框右下角的位置,其中 (0, 0) 是图片缓冲区的左上角。get_x1 返回颜色边界框左上角的 x 坐标。
get_y1#
trkr:get_y1()
- 参数:
无
- 返回值:
颜色跟踪边界框右下角的 y 坐标整数值。
调用 tracker_track_color 时,它会建立一个边界框,描述图片中被跟踪颜色的边界。(x0, y0) 是图片缓冲区中该框左上角的位置,(x1, y1) 是该框右下角的位置,其中 (0, 0) 是图片缓冲区的左上角。get_y1 返回颜色边界框左上角的 x 坐标。
set_lower_bound#
trkr:set_lower_bound(integer channel, integer bound)
- 参数:
channel您要为其设置边界的通道。参见 Lua API:常量 中的关注通道常量。bound给定通道可能的最小值。必须介于 0 和 255 之间。- 返回值:
无
为颜色跟踪器中的一个通道设置下限。下限是像素在该通道中为被跟踪所能具有的最小值。就颜色跟踪而言,任何像素要被视为可跟踪,该像素必须在其每个通道中都处于下限和上限之间。
set_noise_filter#
trkr:set_noise_filter(integer filter)
- 参数:
filter新的噪声过滤值。默认为 2。- 返回值:
无
噪声过滤值决定在一个像素之前需要有多少个连续的活动像素,才能将该像素计为被颜色跟踪检测到。该值必须介于 0 和 255 之间。
set_upper_bound#
trkr:set_upper_bound(integer channel, integer bound)
- 参数:
channel您要为其设置边界的通道。参见 Lua API:常量 中的关注通道常量。bound给定通道可能的最大值。必须介于 0 和 255 之间。- 返回值:
无
为颜色跟踪器中的一个通道设置上限。上限是像素在该通道中为被跟踪所能具有的最大值。就颜色跟踪而言,任何像素要被视为可跟踪,该像素必须在其每个通道中都处于下限和上限之间。