OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
cv::FaceRecognizerSF 类参考抽象

基于DNN的人脸识别器。更多...

#include <opencv2/objdetect/face.hpp>

cv::FaceRecognizerSF 的协作图

公开类型

enum  DisType {
  FR_COSINE =0 ,
  FR_NORM_L2 =1
}
 用于计算两个人脸特征之间距离的距离定义。更多...
 

公开成员函数

virtual ~FaceRecognizerSF ()
 
virtual void alignCrop (InputArray src_img, InputArray face_box, OutputArray aligned_img) const =0
 将检测到的人脸与源输入图像对齐并裁剪。
 
virtual void feature (InputArray aligned_img, OutputArray face_feature)=0
 从对齐的图像中提取人脸特征。
 
virtual double match (InputArray face_feature1, InputArray face_feature2, int dis_type=FaceRecognizerSF::FR_COSINE) const =0
 计算两个面部特征之间的距离。
 

静态公开成员函数

static Ptr< FaceRecognizerSFcreate (const String &framework, const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig, int backend_id=0, int target_id=0)
 从包含模型权重和配置的缓冲区创建此类的实例。
 
static Ptr< FaceRecognizerSFcreate (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config, int backend_id=0, int target_id=0)
 使用给定的参数创建此类实例。
 

详细说明

基于DNN的人脸识别器。

模型下载链接:https://github.com/opencv/opencv_zoo/tree/master/models/face_recognition_sface

成员枚举文档

◆ DisType

用于计算两个人脸特征之间距离的距离定义。

枚举值 (Enumerator)
FR_COSINE 
FR_NORM_L2 

构造函数与析构函数说明

◆ ~FaceRecognizerSF()

virtual cv::FaceRecognizerSF::~FaceRecognizerSF ( )
inlinevirtual

成员函数说明

◆ alignCrop()

virtual void cv::FaceRecognizerSF::alignCrop ( InputArray src_img,
InputArray face_box,
OutputArray aligned_img ) const
纯虚函数
Python
cv.FaceRecognizerSF.alignCrop(src_img, face_box[, aligned_img]) -> aligned_img

将检测到的人脸与源输入图像对齐并裁剪。

参数
src_img输入图像
face_box输入图像中检测到的人脸结果
aligned_img输出对齐后的图像

◆ create() [1/2]

static Ptr< FaceRecognizerSF > cv::FaceRecognizerSF::create ( const String & framework,
const std::vector< uchar > & bufferModel,
const std::vector< uchar > & bufferConfig,
int backend_id=0,
int target_id=0 )
static (静态)
Python
cv.FaceRecognizerSF.create(model, config[, backend_id[, target_id]]) -> retval
cv.FaceRecognizerSF.create(framework, bufferModel, bufferConfig[, backend_id[, target_id]]) -> retval
cv.FaceRecognizerSF_create(model, config[, backend_id[, target_id]]) -> retval
cv.FaceRecognizerSF_create(framework, bufferModel, bufferConfig[, backend_id[, target_id]]) -> retval

从包含模型权重和配置的缓冲区创建此类的实例。

参数
framework框架的名称(ONNX 等)
bufferModel包含二进制模型权重的缓冲区。
bufferConfig包含网络配置的缓冲区。
backend_id后端 ID。
target_id目标设备 ID。
返回
FaceRecognizerSF 实例的指针。

◆ create() [2/2]

static Ptr< FaceRecognizerSF > cv::FaceRecognizerSF::create ( CV_WRAP_FILE_PATH const String & model,
CV_WRAP_FILE_PATH const String & config,
int backend_id=0,
int target_id=0 )
static (静态)
Python
cv.FaceRecognizerSF.create(model, config[, backend_id[, target_id]]) -> retval
cv.FaceRecognizerSF.create(framework, bufferModel, bufferConfig[, backend_id[, target_id]]) -> retval
cv.FaceRecognizerSF_create(model, config[, backend_id[, target_id]]) -> retval
cv.FaceRecognizerSF_create(framework, bufferModel, bufferConfig[, backend_id[, target_id]]) -> retval

使用给定的参数创建此类实例。

参数
model用于人脸识别的 ONNX 模型路径
config兼容性配置文件的路径,对于 ONNX 模型不是必需的
backend_id后端 ID
target_id目标设备 ID

◆ feature()

virtual void cv::FaceRecognizerSF::feature ( InputArray aligned_img,
OutputArray face_feature )
纯虚函数
Python
cv.FaceRecognizerSF.feature(aligned_img[, face_feature]) -> face_feature

从对齐的图像中提取人脸特征。

参数
aligned_img输入的对齐图像
face_feature输出人脸特征

◆ match()

virtual double cv::FaceRecognizerSF::match ( InputArray face_feature1,
InputArray face_feature2,
int dis_type=FaceRecognizerSF::FR_COSINE ) const
纯虚函数
Python
cv.FaceRecognizerSF.match(face_feature1, face_feature2[, dis_type]) -> retval

计算两个面部特征之间的距离。

参数
face_feature1第一个输入特征
face_feature2与 face_feature1 大小和类型相同的第二个输入特征
dis_type定义如何计算两个面部特征之间的距离,可选值为 "FR_COSINE" 或 "FR_NORM_L2"

该类的文档由以下文件生成: