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

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

Опис

A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. See also CameraServer.

Note: Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.

Note: This class is currently only implemented on Linux, Android, macOS, and iOS. On other platforms no CameraFeeds will be available. To get a CameraFeed on iOS, enable 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) 🔗

  • void set_transform(value: Transform2D)

  • Transform2D get_transform()

Перетворення, застосоване до зображення камери.


Array formats = [] 🔗

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


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

bool _activate_feed() virtual 🔗

Викликається, коли активовано подачу з камери.


void _deactivate_feed() virtual 🔗

Викликається, коли подача камери вимкнена.


Array _get_formats() virtual const 🔗

Override this method to define supported formats of the camera feed.


bool _set_format(index: int, parameters: Dictionary) virtual 🔗

Override this method to set the format of the camera feed.


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