CameraFeed
Успадковує: RefCounted < Object
Подача з камери дає вам доступ до однієї фізичної камери, підключеної до вашого пристрою.
Опис
Стрічка камери надає вам доступ до однієї фізичної камери, підключеної до вашого пристрою. Коли цю функцію ввімкнено, Godot почне захоплювати кадри з камери, які потім можна буде використовувати. Див. також CameraServer.
Примітка: Багато камер повертають зображення YCbCr, які розділені на дві текстури та потребують об'єднання в шейдері. Godot робить це автоматично, якщо ви встановите середовище для відображення зображення з камери у фоновому режимі.
Примітка: Цей клас наразі реалізовано лише на Linux, Android, macOS та iOS. На інших платформах CameraFeed будуть недоступні. Щоб отримати CameraFeed на iOS, потрібен плагін камери з godot-ios-plugins.
Властивості
|
||
|
||
|
Методи
_activate_feed() virtual |
|
void |
_deactivate_feed() 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) |
Сигнали
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()
Формати, які підтримує фід. Кожен запис є Словником, що описує параметри формату.
Описи методів
bool _activate_feed() virtual 🔗
Викликається, коли активовано подачу з камери.
void _deactivate_feed() 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 на одне з наступних значень:
"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 для цього каналу.