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.

CameraFeed

Успадковує: RefCounted < Object

Подача з камери дає вам доступ до однієї фізичної камери, підключеної до вашого пристрою.

Опис

Потік камери надає доступ до однієї фізичної камери, підключеної до вашого пристрою. Якщо ця функція увімкнена, Godot почне знімати кадри з камери, які потім можна використовувати. Див. також CameraServer.

Примітка: Багато камер повертають зображення у форматі YCbCr, які розділені на дві текстури і потребують об’єднання в шейдері. Godot робить це автоматично, якщо ви налаштуєте середовище так, щоб зображення з камери відображалося у фоновому режимі.

Примітка: Цей клас наразі реалізовано лише на Linux, Android, macOS та iOS. На інших платформах CameraFeeds не буде доступним. Щоб отримати CameraFeed на iOS, увімкніть EditorExportPlatformIOS.modules/camera.

Властивості

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

Array

_get_formats() virtual const

bool

_set_format(index: int, parameters: Dictionary) 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 = [] 🔗

Формати, які підтримує фід. Кожен запис є Словником, що описує параметри формату.


Описи методів

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 🔗

Повертає тип даних зображення каналу.


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 на одне з наступних значень:

  • "separate" призведе до FEED_YCBCR_SEP;

  • "grayscale" призведе до ненасиченого FEED_RGB;

  • "copy" призведе до FEED_YCBCR.


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 для цього каналу.