目的:读懂MTCNN的c程序相关代码。(此篇无用)
参考:代码地址https://github.com/dlunion/mtcnn
此代码仅作参考,后续项目中运用的其他版本的MTCNN-light版的代码。https://github.com/AlphaQi/MTCNN-light
该代码与后续代码类似。
目录
整体描述
函数mtcnn::mtcnn()
函数 mtcnn::~mtcnn()
函数 vector mtcnn::detectObject ( Mat & image)
函数 Pnet::Pnet()
函数 Pnet::~Pnet()
函数 void Pnet::run(Mat &image, float scale)
函数 Rnet::Rnet()
函数 Rnet::~Rnet()
函数 void Rnet::run(Mat &image, float scale)
函数 Onet:: Onet ()
函数 Onet::~ Onet ()
函数 void Onet::run(Mat &image, float scale)
定义四个namespace: mtcnn,Pnet,Rnet,Onet
每个namespace中的函数分别是四种网络的定义,内存释放,运行
namespace中的变量主要存储该网络需要存储的参数和变量。
描述:用于定义Pnet网络结构及开辟相应网络空间。
调用的子函数:
Pnet::Pnet()
Rnet::Rnet()
Onet::Onet()
描述:用于释放mtcnn所占用的网络空间。
调用的子函数:
Pnet::~Pnet()
Rnet::~Rnet()
Onet::~Onet()
描述:该函数运用mtcnn对输入的图像进行目标的检测。
输入参数:
Mat &image 输入的图像
输出参数:
return objs
类型:vector
调用的子函数:
void Pnet::run(Mat &image, float scale)
void Rnet::run(Mat &image, float scale)
void Onet::run(Mat &image, float scale)
描述:用于定义Pnet网络结构及开辟相应网络空间。
描述:用于释放Pnet占用的内存空间。
描述:用于运行Pnet并且根据输入的图像生成相应的候选框
输入参数:
Mat &image 输入的图像
float scale 输入图像的大小
输出参数:
this->score_
类型:Pnet namespace之中的参数 struct pBox *
作用:输出的备选框的宽,高
this->location_
类型:Pnet namespace之中的参数 struct pBox *
作用:输出备选框在图像中的位置
描述:用于定义Rnet网络结构及开辟相应网络空间。
描述:用于释放Rnet占用的内存空间。
描述:用于运行Rnet并且根据输入的图像生成相应的候选框
输入参数:
Mat &image 输入的图像
float scale 输入图像的大小
输出参数:
this->score_
类型:Rnet namespace之中的参数 struct pBox *
作用:输出的备选框的宽,高
this->location_
类型:Rnet namespace之中的参数 struct pBox *
作用:输出备选框在图像中的位置
描述:用于定义Onet网络结构及开辟相应网络空间。
描述:用于释放Onet占用的内存空间。
描述:用于运行Onet并且根据输入的图像生成相应的候选框
输入参数:
Mat &image 输入的图像
float scale 输入图像的大小
输出参数:
this->score_
类型:Onet namespace之中的参数 struct pBox *
作用:输出的备选框的宽,高
this->location_
类型:Onet namespace之中的参数 struct pBox *
作用:输出备选框在图像中的位置