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)


Сигнали

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 🔗

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


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