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, где они будут отображены в области Console.

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. Разрешение должно быть либо высоким, либо низким (см. Camera Resolution Constants в 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 можно найти в разделе Channel of Interest Constants в Lua API: Константы.

pixbuf_read_rows#

pixbuf_read_rows(image img, integer num_rows)

Параметры:

img Объект image, в который считываются строки 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() истинно).

framediff_scanline#

framediff_scanline(image img, framediff fd)

Параметры:

img Структура данных image, fd Структура данных framediff

Возвращаемые значения:

Возвращает 1 в случае успеха

Получает все пиксели из img и загружает их в нужный слот структуры framediff, чтобы можно было сравнить два шаблона (current_template и previous_template). Если fd:get_load_frame истинно, загрузит пиксели из img в слот предыдущего шаблона. Если fd:get_load_frame ложно, загружает пиксели из 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 для получения более подробной информации.