Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
CameraFeed
Наследует: RefCounted < Object
Видеопоток с камеры обеспечивает вам доступ к одной физической камере, подключенной к вашему устройству.
Описание
Видеопоток с камеры предоставляет доступ к одной физической камере, подключенной к вашему устройству. При включении Godot начнет захватывать кадры с камеры, которые затем можно использовать. См. также CameraServer.
Примечание: Многие камеры возвращают изображения YCbCr, которые разделены на две текстуры и должны быть объединены в шейдере. Godot делает это автоматически, если вы настроите среду на отображение изображения с камеры на заднем плане.
Примечание: Этот класс в настоящее время реализован только для Linux, Android, macOS и iOS. На других платформах CameraFeed не будет доступен. Чтобы получить CameraFeed на iOS, включите EditorExportPlatformIOS.modules/camera.
Свойства
|
||
|
||
|
Методы
_activate_feed() virtual |
|
void |
_deactivate_feed() virtual |
_get_formats() virtual const |
|
_set_format(index: int, parameters: Dictionary) virtual |
|
get_datatype() const |
|
get_id() const |
|
get_name() const |
|
get_position() const |
|
get_texture_tex_id(feed_image_type: FeedImage) |
|
void |
set_external(width: int, height: int) |
set_format(index: int, parameters: Dictionary) |
|
void |
|
void |
set_position(position: FeedPosition) |
void |
set_rgb_image(rgb_image: Image) |
void |
set_ycbcr_image(ycbcr_image: Image) |
void |
set_ycbcr_images(y_image: Image, cbcr_image: Image) |
Сигналы
format_changed() 🔗
Выдается при изменении формата.
frame_changed() 🔗
Выдается, когда доступен новый кадр.
Перечисления
enum FeedDataType: 🔗
FeedDataType FEED_NOIMAGE = 0
Изображение для ленты не установлено.
FeedDataType FEED_RGB = 1
Канал поставляет изображения RGB.
FeedDataType FEED_YCBCR = 2
Канал поставляет изображения YCbCr, которые необходимо преобразовать в RGB.
FeedDataType FEED_YCBCR_SEP = 3
Канал поставляет отдельные изображения Y и CbCr, которые необходимо объединить и преобразовать в RGB.
FeedDataType FEED_EXTERNAL = 4
Канал поставляет внешнее изображение.
enum FeedPosition: 🔗
FeedPosition FEED_UNSPECIFIED = 0
Неуказанная должность.
FeedPosition FEED_FRONT = 1
Камера установлена на передней части устройства.
FeedPosition FEED_BACK = 2
Камера установлена на задней панели устройства.
Описания свойств
Если true, канал активен.
Transform2D feed_transform = Transform2D(1, 0, 0, -1, 0, 1) 🔗
void set_transform(value: Transform2D)
Transform2D get_transform()
Преобразование, примененное к изображению с камеры.
Array get_formats()
Форматы, поддерживаемые каналом. Каждая запись — это Словарь (Dictionary), описывающий параметры формата.
Описания метода
bool _activate_feed() virtual 🔗
Вызывается при активации камеры.
void _deactivate_feed() virtual 🔗
Вызывается при отключении камеры.
Array _get_formats() virtual const 🔗
Переопределите этот метод, чтобы определить поддерживаемые форматы видеопотока с камеры.
bool _set_format(index: int, parameters: Dictionary) virtual 🔗
Переопределите этот метод, чтобы задать формат видеопотока с камеры.
FeedDataType get_datatype() const 🔗
Возвращает тип данных изображения канала.
Возвращает уникальный идентификатор для этого канала.
Возвращает имя камеры.
FeedPosition get_position() const 🔗
Возвращает положение камеры на устройстве.
int get_texture_tex_id(feed_image_type: FeedImage) 🔗
Возвращает идентификатор бэкэнда текстуры (может использоваться некоторыми внешними библиотеками, которым требуется дескриптор текстуры для записи данных).
void set_external(width: int, height: int) 🔗
Устанавливает канал как внешний канал, предоставляемый другой библиотекой.
bool set_format(index: int, parameters: Dictionary) 🔗
Устанавливает параметры формата потока для указанного index в массиве formats. Возвращает true в случае успешного выполнения. По умолчанию поток, закодированный в формате YUYV, преобразуется в FEED_RGB. Формат выходного потока, закодированного в формате YUYV, можно изменить, установив для записи output в parameters[code] одно из следующих значений:
"separate"приведёт к FEED_YCBCR_SEP;"grayscale"приведёт к обесцвечиванию FEED_RGB;"copy"приведёт к FEED_YCBCR.
Задает имя камеры.
void set_position(position: FeedPosition) 🔗
Устанавливает положение этой камеры.
void set_rgb_image(rgb_image: Image) 🔗
Устанавливает RGB-изображение для этого канала.
void set_ycbcr_image(ycbcr_image: Image) 🔗
Устанавливает изображение YCbCr для этого канала.
void set_ycbcr_images(y_image: Image, cbcr_image: Image) 🔗
Задает значения Y и CbCr изображений для этого потока.