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).
print_picture#
print_picture()
- Параметри:
немає
- Значення, що повертаються:
немає
Надіслати щойно зроблений знімок через послідовний порт для відображення у вікні налагодження CamScripter. Ви повинні викликати take_picture перед викликом цієї функції - вона сама не робить знімок.
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)
- Параметри:
- Значення, що повертаються:
Повертає 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.
print_color_tracker#
print_color_tracker(tracker tracker)
- Параметри:
trackertracker надає дані, що використовуються для виведення- Значення, що повертаються:
немає
Використовує дані з об’єкта tracker для виведення налагоджувальної інформації на CamScripter. Виводить прямокутник, що представляє зображення в буфері зображення камери, з іншим прямокутником усередині нього, що представляє обмежувальну рамку для відстежуваного кольору, та червону крапку, що показує центроїд кольору в межах зображення.
print_rectangle#
print_rectangle(integer x, integer y, integer width, integer height [, integer red, integer green, integer blue])
- Параметри:
x,y— координати розташування верхнього лівого кута прямокутника у відстані від верхнього лівого кута графічного екрана.widthтаheight— ширина та висота прямокутника. Необов’язкові аргументиred,greenтаblueзадають колір, у якому буде намальовано прямокутник, як значення RGB. Колір за замовчуванням — чорний.- Значення, що повертаються:
немає
Малює прямокутник завширшки width пікселів і заввишки height пікселів на графічній вкладці CamScripter. Необов’язкові аргументи red, green і blue дозволяють змінювати колір прямокутника за допомогою значень RGB від 0 до 255.
print_line#
print_line(integer start_x, integer start_y, integer end_x, integer end_y [, integer red, integer green, integer blue])
- Параметри:
Початкова точка та кінцева точка лінії та необов’язкові аргументи для встановлення кольору лінії.
- Значення, що повертаються:
немає
Малює лінію на графічному екрані CamScripter від (start_x, start_y) до (end_x, end_y). Колір RGB лінії можна вказати за допомогою необов’язкових аргументів red, green і blue. Колір за замовчуванням — чорний, якщо колір не вказано.
print_oval#
print_oval(integer x, integer y, integer width, integer height [, integer red, intger green, integer blue])
- Параметри:
Верхній лівий кут овала задається (x, y). Ширина та висота вказані в пікселях. Red, green і blue — це необов’язкові аргументи для встановлення кольору овала.
- Значення, що повертаються:
немає
Малює овал на графічному екрані CamScripter. Верхній лівий кут овала розташований у точці (x, y). Колір RGB овала можна вказати за допомогою необов’язкових аргументів red, green і blue. Колір за замовчуванням — чорний, якщо колір не вказано.
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.