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

Eredita: RefCounted < Object

Un feed della telecamera ti dà accesso a una singola telecamera fisica collegata al tuo dispositivo.

Descrizione

Un feed di fotocamera dà accesso a una singola fotocamera fisica collegata al un dispositivo. Quando abilitato, Godot inizierà a catturare fotogrammi dalla fotocamera da poi utilizzare. Vedi anche CameraServer.

Nota: Molte fotocamere restituiscono immagini in YCbCr che sono divise in due texture e che devono essere combinate in uno shader. Godot fa ciò automaticamente se l'ambiente è impostato per mostrare l'immagine della fotocamera nello sfondo.

Nota: Questa classe è attualmente implementata solo su Linux, Android, macOS e iOS. Su altre piattaforme i CameraFeed non saranno disponibili. Per ottenere un CameraFeed su iOS, abilita EditorExportPlatformIOS.modules/camera.

Proprietà

bool

feed_is_active

false

Transform2D

feed_transform

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

Array

formats

[]

Metodi

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)


Segnali

format_changed() 🔗

Emesso quando il formato è cambiato.


frame_changed() 🔗

Emesso quando un nuovo fotogramma è disponibile.


Enumerazioni

enum FeedDataType: 🔗

FeedDataType FEED_NOIMAGE = 0

Nessuna immagine impostata per il feed.

FeedDataType FEED_RGB = 1

Il feed fornisce immagini nel formato RGB.

FeedDataType FEED_YCBCR = 2

Il feed fornisce immagini nel formato YCbCr che devono essere convertite in RGB.

FeedDataType FEED_YCBCR_SEP = 3

Il feed fornisce immagini nel formato Y e CbCr separate che devono essere combinate e convertite in RGB.

FeedDataType FEED_EXTERNAL = 4

Il feed fornisce un'immagine esterna.


enum FeedPosition: 🔗

FeedPosition FEED_UNSPECIFIED = 0

Posizione non specificata.

FeedPosition FEED_FRONT = 1

La fotocamera è montata in avanti al dispositivo.

FeedPosition FEED_BACK = 2

La fotocamera è montata sul retro del dispositivo.


Descrizioni delle proprietà

bool feed_is_active = false 🔗

  • void set_active(value: bool)

  • bool is_active()

Se true, il feed è attivo.


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

La trasformazione applicata all'immagine della fotocamera.


Array formats = [] 🔗

Formati supportati dal feed. Ogni voce è un Dictionary che descrive i parametri del formato.


Descrizioni dei metodi

bool _activate_feed() virtual 🔗

Chiamato quando il feed della fotocamera viene attivato.


void _deactivate_feed() virtual 🔗

Chiamato quando il feed della fotocamera viene disattivato.


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 🔗

Restituisce il tipo di dati dell'immagine del feed.


int get_id() const 🔗

Restituisce l'ID unico per questo feed.


String get_name() const 🔗

Restituisce il nome della fotocamera.


FeedPosition get_position() const 🔗

Restituisce la posizione della fotocamera sul dispositivo.


int get_texture_tex_id(feed_image_type: FeedImage) 🔗

Restituisce l'ID backend della texture (utilizzabile da alcune librerie esterne che necessitano di un gestore per una texture per scrivere dati).


void set_external(width: int, height: int) 🔗

Imposta il feed come feed esterno fornito da un'altra libreria.


bool set_format(index: int, parameters: Dictionary) 🔗

Imposta i parametri del formato feed per l'indice index nell'array formats. Restituisce true in caso di successo. Come predefinito, il flusso codificato in YUYV viene trasformato in FEED_RGB. È possibile modificare il formato risultante del flusso codificato in YUYV impostando la voce output di parameters a uno dei seguenti:


void set_name(name: String) 🔗

Imposta il nome della fotocamera.


void set_position(position: FeedPosition) 🔗

Imposta la posizione di questa fotocamera.


void set_rgb_image(rgb_image: Image) 🔗

Imposta l'immagine RGB per questo feed.


void set_ycbcr_image(ycbcr_image: Image) 🔗

Imposta l'immagine YCbCr per questo feed.


void set_ycbcr_images(y_image: Image, cbcr_image: Image) 🔗

Sets Y and CbCr images for this feed.