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).
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. Разрешение должно быть либо высоким, либо низким (см. 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)
- Параметры:
- Возвращаемые значения:
Возвращает 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.
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 для получения более подробной информации.