CameraFeed
Видеопоток с камеры обеспечивает вам доступ к одной физической камере, подключенной к вашему устройству.
Видеопоток с камеры обеспечивает вам доступ к одной физической камере, подключенной к вашему устройству.
Видеопоток с камеры предоставляет доступ к одной физической камере, подключенной к вашему устройству. При включении Reckfell начнет захватывать кадры с камеры, которые затем можно использовать. См. также CameraServer.
Примечание: Многие камеры возвращают изображения YCbCr, которые разделены на две текстуры и должны быть объединены в шейдере. Reckfell делает это автоматически, если вы настроите среду на отображение изображения с камеры на заднем плане.
Примечание: Этот класс в настоящее время реализован только для Linux, Android, macOS и iOS. На других платформах CameraFeed не будет доступен. Чтобы получить CameraFeed на iOS, включите EditorExportPlatformIOS.modules/camera.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
CameraFeedКонструктор
public CameraFeed();Свойства3
FeedIsActiveСвойство
public bool FeedIsActive { get; set; }Если true, канал активен.
FeedTransformСвойство
public Transform2D FeedTransform { get; set; }Преобразование, примененное к изображению с камеры.
FormatsСвойство
public Reckfell.Collections.Array Formats { get; }Форматы, поддерживаемые каналом. Каждая запись — это [Словарь (Dictionary)], описывающий параметры формата.
Методы21
GetDatatypeCameraFeed.FeedDataType
public CameraFeed.FeedDataType GetDatatype();Возвращает тип данных изображения канала.
CameraFeed.FeedDataTypeGetFormatsReckfell.Collections.Array
public Reckfell.Collections.Array GetFormats();Переопределите этот метод, чтобы определить поддерживаемые форматы видеопотока с камеры.
Reckfell.Collections.ArrayGetIdint
public int GetId();Возвращает уникальный идентификатор для этого канала.
intGetNamestring
public string GetName();Возвращает имя камеры.
stringGetPositionCameraFeed.FeedPosition
public CameraFeed.FeedPosition GetPosition();Возвращает положение камеры на устройстве.
CameraFeed.FeedPositionGetTextureTexIdulong
public ulong GetTextureTexId(CameraServer.FeedImage feedImageType);Возвращает идентификатор бэкэнда текстуры (может использоваться некоторыми внешними библиотеками, которым требуется дескриптор текстуры для записи данных).
| Имя | Тип | По умолчанию |
|---|---|---|
feedImageType | CameraServer.FeedImage | — |
ulongGetTransformTransform2D
public Transform2D GetTransform();Transform2DIsActivebool
public bool IsActive();boolSetActivevoid
public void SetActive(bool active);| Имя | Тип | По умолчанию |
|---|---|---|
active | bool | — |
SetExternalvoid
public void SetExternal(int width, int height);Устанавливает канал как внешний канал, предоставляемый другой библиотекой.
| Имя | Тип | По умолчанию |
|---|---|---|
width | int | — |
height | int | — |
SetFormatbool
public bool SetFormat(int index, Reckfell.Collections.Dictionary parameters);Переопределите этот метод, чтобы задать формат видеопотока с камеры.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
parameters | Reckfell.Collections.Dictionary | — |
boolSetNamevoid
public void SetName(string name);Задает имя камеры.
| Имя | Тип | По умолчанию |
|---|---|---|
name | string | — |
SetPositionvoid
public void SetPosition(CameraFeed.FeedPosition position);Устанавливает положение этой камеры.
| Имя | Тип | По умолчанию |
|---|---|---|
position | CameraFeed.FeedPosition | — |
SetRgbImagevoid
public void SetRgbImage(Image rgbImage);Устанавливает RGB-изображение для этого канала.
| Имя | Тип | По умолчанию |
|---|---|---|
rgbImage | Image | — |
SetTransformvoid
public void SetTransform(Transform2D transform);| Имя | Тип | По умолчанию |
|---|---|---|
transform | Transform2D | — |
SetYcbcrImagevoid
public void SetYcbcrImage(Image ycbcrImage);Устанавливает изображение YCbCr для этого канала.
| Имя | Тип | По умолчанию |
|---|---|---|
ycbcrImage | Image | — |
SetYcbcrImagesvoid
public void SetYcbcrImages(Image yImage, Image cbcrImage);Задает значения Y и CbCr изображений для этого потока.
| Имя | Тип | По умолчанию |
|---|---|---|
yImage | Image | — |
cbcrImage | Image | — |
_ActivateFeedbool
public virtual bool _ActivateFeed();Вызывается при активации камеры.
bool_DeactivateFeedvoid
public virtual void _DeactivateFeed();Вызывается при отключении камеры.
#####_get_formats
_GetFormatsReckfell.Collections.Array
public virtual Reckfell.Collections.Array _GetFormats();Переопределите этот метод, чтобы определить поддерживаемые форматы видеопотока с камеры.
Reckfell.Collections.Array_SetFormatbool
public virtual bool _SetFormat(int index, Reckfell.Collections.Dictionary parameters);Переопределите этот метод, чтобы задать формат видеопотока с камеры.
| Имя | Тип | По умолчанию |
|---|---|---|
index | int | — |
parameters | Reckfell.Collections.Dictionary | — |
boolСигналы и события2
FormatChangedСобытие
public event Action FormatChanged;Выдается при изменении формата.
FrameChangedСобытие
public event Action FrameChanged;Выдается, когда доступен новый кадр.
CameraFeed.FeedDataType
| Значение | Описание |
|---|---|
External = 4 | Канал поставляет внешнее изображение. |
Noimage = 0 | Изображение для ленты не установлено. |
Rgb = 1 | Канал поставляет изображения RGB. |
Ycbcr = 2 | Канал поставляет изображения YCbCr, которые необходимо преобразовать в RGB. |
YcbcrSep = 3 | Канал поставляет отдельные изображения Y и CbCr, которые необходимо объединить и преобразовать в RGB. |
CameraFeed.FeedPosition
| Значение | Описание |
|---|---|
Back = 2 | Камера установлена на задней панели устройства. |
Front = 1 | Камера установлена на передней части устройства. |
Unspecified = 0 | Неуказанная должность. |