3DiVi Face SDK  3.20.0
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Свойства Группы
Класс VDT.FaceRecognition.SDK.RawSample

Интерфейсный объект, хранящий образец лица. Подробнее...

Классы

class  Angles
 Углы ориентации лица. Подробнее...
 
class  Rectangle
 Прямоугольник на изображении. Подробнее...
 

Открытые типы

enum  SampleType { SampleType.SAMPLE_TYPE_FRONTAL = 0, SampleType.SAMPLE_TYPE_LEFT_PROFILE = 1, SampleType.SAMPLE_TYPE_RIGHT_PROFILE = 2 }
 Типы образцов (см. также VDT.FaceRecognition.SDK.Capturer.CapturerType). Подробнее...
 
enum  ImageFormat { ImageFormat.IMAGE_FORMAT_JPG = 0, ImageFormat.IMAGE_FORMAT_PNG = 1, ImageFormat.IMAGE_FORMAT_TIF = 2, ImageFormat.IMAGE_FORMAT_BMP = 3 }
 Форматы изображения для сохранения (сериализации). Подробнее...
 
enum  FaceCutType { FaceCutType.FACE_CUT_BASE = 0, FaceCutType.FACE_CUT_FULL_FRONTAL = 1, FaceCutType.FACE_CUT_TOKEN_FRONTAL = 2 }
 Типы обрезки лица. Подробнее...
 

Открытые члены

Rectangle getRectangle ()
 Получить ограничивающий прямоугольник лица. Потокобезопасный. Подробнее...
 
List< PointgetLandmarks ()
 Получить антропометрические точки лица. Только для фронтальных образцов. Потокобезопасный. Подробнее...
 
List< PointgetIrisLandmarks ()
 Получить характерные точки глаз. Только для фронтальных образцов. Потокобезопасный. Подробнее...
 
Point getLeftEye ()
 Получить позицию левого глаза. Только для фронтальных образцов. Потокобезопасный. Подробнее...
 
Point getRightEye ()
 Получить позицию правого глаза. Только для фронтальных образцов. Потокобезопасный. Подробнее...
 
Angles getAngles ()
 Получить углы ориентации лица. Только для фронтальных образцов. Потокобезопасный. Подробнее...
 
int getID ()
 Получить целочисленный идентификатор. Потокобезопасный. Подробнее...
 
int getFrameID ()
 Получить ID кадра, на котором был обнаружен образец (для образцов, полученных с помощью VideoWorker). Потокобезопасный. Подробнее...
 
bool hasOriginImage ()
 Хранит ли образец оригинальное изображение, с которого он был получен (true для образцов, полученных с помощью VideoWorker с включенным параметром store_original_frame_in_raw_sample). Потокобезопасный. Подробнее...
 
float getScore ()
 Получить уверенность детектирования лица (для образцов, полученных с помощью поддерживаемого Capturer). Потокобезопасный. Подробнее...
 
float getFaceVisibilityScore ()
 Получить оценку видимости лица. Потокобезопасный. Подробнее...
 
RawImage getOriginalImage ()
 Получить оригинальное изображение. Выбрасывается исключение, если образец не содержит оригинальное изображение (проверка через RawSample.hasOriginalImage). Потокобезопасный. Подробнее...
 
SampleType getType ()
 Получить тип образца. Потокобезопасный. Подробнее...
 
List< PointgetFaceCutRectangle (FaceCutType cut_type)
 Получить прямоугольник (для предпросмотра обрезки). Потокобезопасный. Подробнее...
 
void cutFaceImage (Stream binary_stream, ImageFormat format, FaceCutType cut_type)
 Обрезать лицо и сохранить в указанном формате. Потокобезопасный. Подробнее...
 
RawImage cutFaceRawImage (RawImage.Format color_model, FaceCutType cut_type)
 Обрезать лицо и выдать в формате RawImage (с декодированными пикселями). Потокобезопасный. Подробнее...
 
void cutFaceImage (RawImage original_image, Stream binary_stream, ImageFormat format, FaceCutType cut_type)
 Обрезать лицо и сохранить в исходном размере в указанном формате. Потокобезопасный. Подробнее...
 
void save (Stream binary_stream, ImageFormat format)
 Сохранить (сериализовать) образец. Оригинальное изображение не сохраняется (т.е. сохраняется только часть изображения, содержащая лицо). Формат платформонезависимый. Потокобезопасный. Десериализовать образец можно через FacerecService.loadRawSample. Подробнее...
 
void saveWithoutImage (Stream binary_stream, double space_translation_x=0, double space_translation_y=0, double space_scale=1)
 Сохранить (сериализовать) всю информацию об образце, кроме изображения. Вы должны сохранить изображение самостоятельно для того, чтобы подать его в FacerecService.loadRawSampleWithoutImage для десериализации. В случае, если над изображением была выполнена трансформация, вы можете указать параметры преобразования пространства координат: (x, y) -> ( (x + space_translation_x) * space_scale, (y + space_translation_y) * space_scale ) которое будет применено к информации о позиции лица. Заметьте, что параметры одного и того же преобразования нужно передавать только один раз - либо при сериализации, либо при десериализации, иначе преобразование будет применено дважды, что неверно. Формат платформонезависимый. Потокобезопасный. Десериализовать образец можно через FacerecService.loadRawSampleWithoutImage. Подробнее...
 
RawSample downscaleToPreferredSize ()
 Создать копию образца с внутренним изображением лица, уменьшенным до желаемого размера и без оригинального изображения. В целях уменьшения потребления памяти (как в оперативной памяти, так и после сериализации).
При работе Capturer и VideoWorker автоматически уменьшают все образцы, если параметр downscale_rawsamples_to_preferred_size включен (включен по умолчанию), но это снижает производительность.
Поэтому лучше отключать downscale_rawsamples_to_preferred_size, и использовать RawSample.downscaleToPreferredSize вручную для образцов, которые вам нужно сохранить или длительно удерживать в оперативной памяти. Подробнее...
 
unsafe Context ToContext ()
 
- Открытые члены унаследованные от VDT.FaceRecognition.SDK.IDisposableObject
virtual void Dispose ()
 Освободить внутренний объект.
 

Дополнительные унаследованные члены

- Свойства унаследованные от VDT.FaceRecognition.SDK.IDisposableObject
bool isDisposed [get]
 True если внутренний объект освобожден.
 

Подробное описание

Интерфейсный объект, хранящий образец лица.

Перечисления

Типы обрезки лица.

Элементы перечислений
FACE_CUT_BASE 

Базовый (подходит для образцов всех типов).

FACE_CUT_FULL_FRONTAL 

Полный фронтальный ТИЛ (тип изображения лица) по ГОСТ Р ИСО / МЭК 19794-5 (ISO/IEC 19794-5 Full Frontal) (только для фронтальных образцов).

FACE_CUT_TOKEN_FRONTAL 

Условно фронтальный ТИЛ (тип изображения лица) по ГОСТ Р ИСО / МЭК 19794-5 (ISO/IEC 19794-5 Token Frontal) (только для фронтальных образцов).

Форматы изображения для сохранения (сериализации).

Элементы перечислений
IMAGE_FORMAT_JPG 

JPEG (сжатие с потерями).

IMAGE_FORMAT_PNG 

PNG (сжатие без потерь).

IMAGE_FORMAT_TIF 

TIFF (сжатие без потерь).

IMAGE_FORMAT_BMP 

BMP (без сжатия).

Типы образцов (см. также VDT.FaceRecognition.SDK.Capturer.CapturerType).

Элементы перечислений
SAMPLE_TYPE_FRONTAL 

Фронтальное лицо.

SAMPLE_TYPE_LEFT_PROFILE 

Лицо в профиль, смотрящее влево.

SAMPLE_TYPE_RIGHT_PROFILE 

Лицо в профиль, смотрящее вправо.

Методы

void VDT.FaceRecognition.SDK.RawSample.cutFaceImage ( Stream  binary_stream,
ImageFormat  format,
FaceCutType  cut_type 
)
inline

Обрезать лицо и сохранить в указанном формате. Потокобезопасный.

Аргументы
[out]binary_streamПоток для сохранения закодированного изображения.
[in]formatФормат для сохранения изображения.
[in]cut_typeТип обрезки.
void VDT.FaceRecognition.SDK.RawSample.cutFaceImage ( RawImage  original_image,
Stream  binary_stream,
ImageFormat  format,
FaceCutType  cut_type 
)
inline

Обрезать лицо и сохранить в исходном размере в указанном формате. Потокобезопасный.

Аргументы
[in]original_imageИзображение, используемое для создания образца.
[out]binary_streamОбъект потока вывода для сохранения изображения.
[in]formatФормат кодирования изображения.
[in]cut_typeТип обрезки лица.
RawImage VDT.FaceRecognition.SDK.RawSample.cutFaceRawImage ( RawImage.Format  color_model,
FaceCutType  cut_type 
)
inline

Обрезать лицо и выдать в формате RawImage (с декодированными пикселями). Потокобезопасный.

Аргументы
[in]color_modelЦветовая модель изображения
[in]cut_typeТип обрезки.
Возвращает
RawImage c кропом лица
RawSample VDT.FaceRecognition.SDK.RawSample.downscaleToPreferredSize ( )
inline

Создать копию образца с внутренним изображением лица, уменьшенным до желаемого размера и без оригинального изображения. В целях уменьшения потребления памяти (как в оперативной памяти, так и после сериализации).
При работе Capturer и VideoWorker автоматически уменьшают все образцы, если параметр downscale_rawsamples_to_preferred_size включен (включен по умолчанию), но это снижает производительность.
Поэтому лучше отключать downscale_rawsamples_to_preferred_size, и использовать RawSample.downscaleToPreferredSize вручную для образцов, которые вам нужно сохранить или длительно удерживать в оперативной памяти.

Возвращает
Созданный RawSample.
Angles VDT.FaceRecognition.SDK.RawSample.getAngles ( )
inline

Получить углы ориентации лица. Только для фронтальных образцов. Потокобезопасный.

Возвращает
Углы ориентации лица.
List<Point> VDT.FaceRecognition.SDK.RawSample.getFaceCutRectangle ( FaceCutType  cut_type)
inline

Получить прямоугольник (для предпросмотра обрезки). Потокобезопасный.

Возвращает
4 точки - углы прямоугольника в порядке против часовой стрелки, начиная с левого верхнего угла.
Аргументы
[in]cut_typeТип обрезки.
float VDT.FaceRecognition.SDK.RawSample.getFaceVisibilityScore ( )
inline

Получить оценку видимости лица. Потокобезопасный.

Возвращает
Один, если лицо полностью видимо,
ноль, если лицо невидимо,
иначе - число в диапазоне [0 ... 1].
int VDT.FaceRecognition.SDK.RawSample.getFrameID ( )
inline

Получить ID кадра, на котором был обнаружен образец (для образцов, полученных с помощью VideoWorker). Потокобезопасный.

Возвращает
Ноль, если образец был получен не через VideoWorker,
иначе - неотрицательное целое число - идентификатор (который был возвращен методом VideoWorker.addVideoFrame) кадра, на котором был обнаружен образец.
int VDT.FaceRecognition.SDK.RawSample.getID ( )
inline

Получить целочисленный идентификатор. Потокобезопасный.

Возвращает
  • Неотрицательное число, если образец был получен с помощью трекера, или
  • Любое отрицательное число в противном случае.
List<Point> VDT.FaceRecognition.SDK.RawSample.getIrisLandmarks ( )
inline

Получить характерные точки глаз. Только для фронтальных образцов. Потокобезопасный.

Возвращает
Вектор позиций точек зрачков и контуров век на оригинальном изображении.
List<Point> VDT.FaceRecognition.SDK.RawSample.getLandmarks ( )
inline

Получить антропометрические точки лица. Только для фронтальных образцов. Потокобезопасный.

Возвращает
Вектор позиций антропометрических точек на оригинальном изображении.
Point VDT.FaceRecognition.SDK.RawSample.getLeftEye ( )
inline

Получить позицию левого глаза. Только для фронтальных образцов. Потокобезопасный.

Возвращает
Позиция левого глаза на оригинальном изображении.
RawImage VDT.FaceRecognition.SDK.RawSample.getOriginalImage ( )
inline

Получить оригинальное изображение. Выбрасывается исключение, если образец не содержит оригинальное изображение (проверка через RawSample.hasOriginalImage). Потокобезопасный.

Возвращает
Оригинальное изображение.
Rectangle VDT.FaceRecognition.SDK.RawSample.getRectangle ( )
inline

Получить ограничивающий прямоугольник лица. Потокобезопасный.

Возвращает
Прямоугольник, ограничивающий лицо на оригинальном изображении.
Point VDT.FaceRecognition.SDK.RawSample.getRightEye ( )
inline

Получить позицию правого глаза. Только для фронтальных образцов. Потокобезопасный.

Возвращает
Позиция правого глаза на оригинальном изображении.
float VDT.FaceRecognition.SDK.RawSample.getScore ( )
inline

Получить уверенность детектирования лица (для образцов, полученных с помощью поддерживаемого Capturer). Потокобезопасный.

Возвращает
Один, если образец был получен через неподдерживаемый Capturer,
иначе - число в диапазоне [0 ... 1].
SampleType VDT.FaceRecognition.SDK.RawSample.getType ( )
inline

Получить тип образца. Потокобезопасный.

Возвращает
Тип образца.
bool VDT.FaceRecognition.SDK.RawSample.hasOriginImage ( )
inline

Хранит ли образец оригинальное изображение, с которого он был получен (true для образцов, полученных с помощью VideoWorker с включенным параметром store_original_frame_in_raw_sample). Потокобезопасный.

Возвращает
true, если содержит, иначе false.
void VDT.FaceRecognition.SDK.RawSample.save ( Stream  binary_stream,
ImageFormat  format 
)
inline

Сохранить (сериализовать) образец. Оригинальное изображение не сохраняется (т.е. сохраняется только часть изображения, содержащая лицо). Формат платформонезависимый. Потокобезопасный. Десериализовать образец можно через FacerecService.loadRawSample.

Аргументы
[out]binary_streamОбъект потока.
[in]formatФормат кодирования изображения.
void VDT.FaceRecognition.SDK.RawSample.saveWithoutImage ( Stream  binary_stream,
double  space_translation_x = 0,
double  space_translation_y = 0,
double  space_scale = 1 
)
inline

Сохранить (сериализовать) всю информацию об образце, кроме изображения. Вы должны сохранить изображение самостоятельно для того, чтобы подать его в FacerecService.loadRawSampleWithoutImage для десериализации. В случае, если над изображением была выполнена трансформация, вы можете указать параметры преобразования пространства координат: (x, y) -> ( (x + space_translation_x) * space_scale, (y + space_translation_y) * space_scale ) которое будет применено к информации о позиции лица. Заметьте, что параметры одного и того же преобразования нужно передавать только один раз - либо при сериализации, либо при десериализации, иначе преобразование будет применено дважды, что неверно. Формат платформонезависимый. Потокобезопасный. Десериализовать образец можно через FacerecService.loadRawSampleWithoutImage.

Аргументы
[out]binary_streamОбъект потока для сохранения "сырого" образца.
[in]space_translation_xПараметр преобразования пространства координат.
[in]space_translation_yПараметр преобразования пространства координат.
[in]space_scaleПараметр преобразования пространства координат.