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 надішле всі значення, передані цій функції, до плагіна Eclipse CamScripter, де вони відображатимуться в області консолі.

turn_on_led#

turn_on_led(integer led_number)

Параметри:

led_number Номер світлодіода CMUcam3, який потрібно увімкнути. 0, 1, 2 — єдині допустимі значення.

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

немає

Увімкніть один зі світлодіодів CMUcam3.

turn_off_led#

turn_off_led(integer led_number)

Параметри:

led_number Номер світлодіода CMUcam3, який потрібно увімкнути. 0, 1, 2 — єдині допустимі значення.

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

немає

Вимкніть один зі світлодіодів CMUcam3.

take_picture#

take_picture()

Параметри:

немає

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

немає

Зробити знімок за допомогою CMUcam3 і завантажити буфер зображення (pixbuf).

save_picture#

save_picture(string filename)

Параметри:

filename Ім’я файлу, під яким слід спробувати зберегти знімок.

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

немає

Зберегти зображення, наразі наявне в буфері зображення, у передане ім’я файлу. Ім’я файлу має бути дійсним іменем файлу FAT16 <8.3>, інакше буде повернено помилку. Якщо файл із заданим іменем уже існує, його буде перезаписано. Зверніть увагу, що ця функція сама не робить знімок - ви повинні викликати take_picture перед викликом save_picture.

file_exists#

file_exists(string filename)

Параметри:

filename

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

логічне значення, що вказує, чи існує файл

Перевірити, чи є на картці MMC/SD файл із переданим іменем файлу.

camera_set_resolution#

camera_set_resolution(integer resolution)

Параметри:

resolution Нова роздільна здатність для камери

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

немає

Встановити роздільну здатність CMUcam3. Роздільна здатність має бути високою або низькою (див. константи роздільної здатності камери в Lua API: Константи).

camera_set_colorspace#

camera_set_colorspace(integer space)

Параметри:

space Нова роздільна здатність для камери, має бути або CC3_COLORSPACE_YCRCB, або CC3_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_pixel і get_pixel для використання структури pixel.

get_pixel#

get_pixel(pixel pxl, integer x, integer y)

Параметри:

pxl Структура даних pixel, у яку зберігаються значення пікселя. x, y Координати x та y пікселя, який потрібно отримати в буфері зображення.

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

немає, значення пікселя зберігаються в переданому pixel

Отримати один pixel з буфера зображення CMUcam3 (pixbuf). x і y мають бути меншими за pixbuf_get_width і pixbuf_get_height відповідно. Якщо take_picture не було викликано для збереження зображення в pixbuf, ця функція не зазнає збою, але значення, вставлені в pixel, будуть сміттям.

image_new#

image_new(integer width, integer height)

Параметри:

width Ширина зображення, height Висота зображення

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

Нова структура даних image.

Отримати нову структуру даних image із переданими шириною, висотою та pixsize. Для отримання докладнішої інформації про використання структур даних image дивіться документацію image.

Отримати pixel з переданої структури даних image. Значення 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, якщо операція була успішною.

Порівнює два шаблони (current_template і previous_template) у структурі даних framediff й обчислює кількість пікселів, які відрізняються, зберігаючи це значення в framediff:get_num_pixels.

clear_graphics#

clear_graphics()

Параметри:

немає

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

немає

Очистіть графічний екран CamScripter.

tracker_track_color#

tracker_track_color(tracker theTracker)

Параметри:

об’єкт tracker, що використовується для відстеження кольору, налаштований з бажаним значенням RGB для встановлення.

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

логічне значення, що вказує, чи вдалося виконати відстеження. Повертає true, навіть якщо колір не було знайдено – повертає false лише у разі виникнення помилки.

Відстежуйте колір у CMUcam3, використовуючи переданий об’єкт tracker. take_picture() має бути викликано перед спробою відстежити колір. Аналізує буфер зображення та встановлює значення в об’єкті tracker, щоб надати обмежувальну рамку для кольору та значення (x, y), що представляє центроїд кольору. Докладніше див. документацію tracker.