Lua API: tracker#
Опис#
Структура даних tracker використовується для допомоги у відстеженні кольору в CMUcam3. Вона містить інформацію про виконуване відстеження та параметри, які можна встановити для керування тим, який колір відстежується, та іншими аспектами відстеження кольору. TODO: Add a good description of what hte bounding box is, and what the centroid is
Приклад#
Ось короткий приклад, який показує, як об’єкт tracker використовується для пошуку червоної області в кадрі зображення CMUcam3, а потім ця рамка друкується в області налагодження CamScripter у Eclipse.
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()
- Параметри:
немає
- Значення, що повертаються:
Кількість пікселів у буфері зображення, які відповідають кольору відстежувача кольору
Отримати загальну кількість пікселів відстежуваного кольору (як визначено значеннями RGB, переданими до tracker_new), знайдених у буфері зображення CMUcam3.
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.- Значення, що повертаються:
немає
Встановити верхню межу для одного каналу у відстежувачі кольору. Верхня межа — це максимальне значення, яке піксель може мати в цьому каналі, щоб його відстежувати. Для цілей відстеження кольору, щоб будь-який піксель вважався таким, що піддається відстеженню, цей піксель має бути між нижньою та верхньою межею в кожному зі своїх каналів.