CameraFeed

Наследует: RefCounted < Object

Видеопоток с камеры обеспечивает вам доступ к одной физической камере, подключенной к вашему устройству.

Описание

Канал камеры дает вам доступ к одной физической камере, подключенной к вашему устройству. При включении Godot начнет захватывать кадры с камеры, которые затем можно использовать. См. также CameraServer.

Примечание: Многие камеры возвращают изображения YCbCr, которые разделены на две текстуры и должны быть объединены в шейдере. Godot делает это автоматически, если вы настроите среду для показа изображения камеры в фоновом режиме.

Примечание: Этот класс в настоящее время реализован только в Linux, Android, macOS и iOS. На других платформах CameraFeed будет недоступен. Чтобы получить CameraFeed на iOS, требуется плагин камеры из godot-ios-plugins.

Свойства

bool

feed_is_active

false

Transform2D

feed_transform

Transform2D(1, 0, 0, -1, 0, 1)

Array

formats

[]

Методы

bool

_activate_feed() virtual

void

_deactivate_feed() virtual

FeedDataType

get_datatype() const

int

get_id() const

String

get_name() 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)

void

set_name(name: String)

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

Камера установлена на задней панели устройства.


Описания свойств

bool feed_is_active = false 🔗

  • void set_active(value: bool)

  • bool is_active()

Если true, канал активен.


Transform2D feed_transform = Transform2D(1, 0, 0, -1, 0, 1) 🔗

Преобразование, примененное к изображению с камеры.


Array formats = [] 🔗

Форматы, поддерживаемые каналом. Каждая запись — это Словарь (Dictionary), описывающий параметры формата.


Описания метода

bool _activate_feed() virtual 🔗

Вызывается при активации камеры.


void _deactivate_feed() virtual 🔗

Вызывается при отключении камеры.


FeedDataType get_datatype() const 🔗

Возвращает тип данных изображения канала.


int get_id() const 🔗

Возвращает уникальный идентификатор для этого канала.


String get_name() 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] одно из следующих значений:


void set_name(name: String) 🔗

Задает имя камеры.


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 изображений для этого потока.