CameraFeed

继承: RefCounted < Object

摄像机馈送使您可以访问连接到设备的单个物理摄像机。

描述

摄像机源使您可以访问连接到设备的单个物理摄像机。启用后,i3D将开始从摄像机捕获帧,然后可以使用。另请参阅CameraServer

注意:许多摄像机会返回YCbCr图像,这些图像被分成两个纹理,需要在着色器中组合。如果您设置环境以在背景中显示摄像机图像,i3D会自动为您执行此操作。

注意:此类目前仅在Linux、macOS和iOS上实现。在其他平台上没有CameraFeed可用。要在iOS上获得CameraFeed,需要来自i3d-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

Feed提供RGB图像。

FeedDataType FEED_YCBCR = 2

Feed提供需要转换为RGB的YCbCr图像。

FeedDataType FEED_YCBCR_SEP = 3

Feed提供需要合并并转换为RGB的单独Y和CbCr图像。

FeedDataType FEED_EXTERNAL = 4

Feed提供外部图像。


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 = [] 🔗

提要支持的格式。每个条目都是描述格式参数的Dictionary


方法说明

bool _activate_feed() virtual 🔗

激活摄像机馈送时调用。


void _deactivate_feed() virtual 🔗

当摄像机馈送被停用时调用。


FeedDataType get_datatype() const 🔗

返回馈送图像数据类型。


int get_id() const 🔗

返回此提要的唯一ID。


String get_name() const 🔗

返回摄像机的名称。


FeedPosition get_position() const 🔗

返回摄像机在设备上的位置。


int get_texture_tex_id(feed_image_type: FeedImage) 🔗

返回纹理后端ID(可由一些需要纹理句柄以写入数据的外部库使用)。


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

将提要设置为另一个库提供的外部提要。


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

设置formats数组中给定索引的提要格式参数。成功时返回true。默认情况下,YUYV编码流转换为FEED_RGB。YUYV编码流输出格式可以使用parameters更改。产出值:

分开会导致FEED_YCBCR_SEP

灰度将导致去饱和FEED_RGB

复制将导致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图像。