OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::face::MACE 类参考抽象

最小平均相关能量滤波器,用于具有(可取消的)生物特征的认证。(训练不需要很多正样本(10-50),根本不需要负样本,而且对噪声/加盐具有鲁棒性) 更多…

#include <opencv2/face/mace.hpp>

cv::face::MACE 的协作图

公共成员函数

virtual void salt (const cv::String &passphrase)=0
 可选地使用随机卷积加密图像
 
virtual bool same (cv::InputArray query) const =0
 关联查询图像和阈值到最小类值
 
virtual void train (cv::InputArrayOfArrays images)=0
 使用正特征对其进行训练,计算 MACE 滤波器:h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C 也计算此类的最小阈值,即训练图像中最小的自相似性
 
- 从 cv::Algorithm 继承的公共成员函数
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
virtual bool empty () const
 如果 Algorithm 为空(例如,在开始时或读取失败后),则返回 true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 从文件存储中读取算法参数。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 将算法参数存储到文件存储中。
 
void write (FileStorage &fs, const String &name) const
 

静态公共成员函数

static cv::Ptr< MACEcreate (int IMGSIZE=64)
 构造函数
 
static cv::Ptr< MACEload (const String &filename, const String &objname=String())
 构造函数
 
- 从 cv::Algorithm 继承的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 

其他继承成员

- 从 cv::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

最小平均相关能量滤波器,用于具有(可取消的)生物特征的认证。(训练不需要很多正样本(10-50),根本不需要负样本,而且对噪声/加盐具有鲁棒性)

另请参见: [236]

此实现主要基于: https://code.google.com/archive/p/pam-face-authentication (GSOC 2009)

使用方法如下

vector<Mat> pos_images = ...
mace->train(pos_images);
Mat query = ...
bool same = mace->same(query);
n 维密集数组类
定义 mat.hpp:829
static cv::Ptr< MACE > create(int IMGSIZE=64)
构造函数
virtual bool same(cv::InputArray query) const =0
关联查询图像和阈值到最小类值
std::shared_ptr< _Tp > Ptr
定义 cvstd_wrapper.hpp:23

您还可以使用双因素身份验证,并使用额外的密码

String owners_passphrase = "ilikehotdogs";
mace->salt(owners_passphrase);
vector<Mat> pos_images = ...
mace->train(pos_images);
// 现在,用户必须提供有效的密码以及图像
Mat query = ...
cout << "请输入密码: ";
string pass;
getline(cin, pass);
mace->salt(pass);
bool same = mace->same(query);
std::string String
定义 cvstd.hpp:151

保存/加载您的模型

mace->train(pos_images);
mace->save("my_mace.xml");
// 之后
cv::Ptr<MACE> reloaded = MACE::load("my_mace.xml");
reloaded->same(some_image);
static cv::Ptr< MACE > load(const String &filename, const String &objname=String())
构造函数

成员函数文档

◆ create()

static cv::Ptr< MACE > cv::face::MACE::create ( int IMGSIZE = 64)
static
Python
cv.face.MACE.create([, IMGSIZE]) -> 返回值
cv.face.MACE_create([, IMGSIZE]) -> 返回值

构造函数

参数
IMGSIZE图像将被调整为此大小(应为偶数)

◆ load()

static cv::Ptr< MACE > cv::face::MACE::load ( const String & filename,
const String & objname = String() )
static
Python
cv.face.MACE.load(filename[, objname]) -> 返回值
cv.face.MACE_load(filename[, objname]) -> 返回值

构造函数

参数
filename从预序列化的FileStorage构建新的MACE实例
objname(可选) FileStorage中的顶级节点

◆ salt()

virtual void cv::face::MACE::salt ( const cv::String & passphrase)
纯虚函数
Python
cv.face.MACE.salt(passphrase) -> None

可选地使用随机卷积加密图像

参数
passphrase将从此生成一个crc64随机种子

◆ same()

virtual bool cv::face::MACE::same ( cv::InputArray query) const
纯虚函数
Python
cv.face.MACE.same(query) -> 返回值

关联查询图像和阈值到最小类值

参数
query包含查询图像的Mat

◆ train()

virtual void cv::face::MACE::train ( cv::InputArrayOfArrays images)
纯虚函数
Python
cv.face.MACE.train(images) -> None

使用正特征对其进行训练,计算 MACE 滤波器:h = D(-1) * X * (X(+) * D(-1) * X)(-1) * C 也计算此类的最小阈值,即训练图像中最小的自相似性

参数
images包含训练图像的vector<Mat>

此类的文档是从以下文件生成的: