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_x

  • get_centroid_y

  • get_density

  • get_num_pixels

  • get_x0

  • get_x1

  • get_y0

  • get_y1

  • set_lower_bound

  • set_noise_filter

  • set_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.

Значення, що повертаються:

немає

Встановити верхню межу для одного каналу у відстежувачі кольору. Верхня межа — це максимальне значення, яке піксель може мати в цьому каналі, щоб його відстежувати. Для цілей відстеження кольору, щоб будь-який піксель вважався таким, що піддається відстеженню, цей піксель має бути між нижньою та верхньою межею в кожному зі своїх каналів.