dlib 19 未定义的标识符 net_type
时间: 2023-11-27 08:55:35 浏览: 199
如果你在使用dlib时遇到了“未定义的标识符net_type”错误,可能是因为你忘记了包含正确的头文件或链接dlib库。
请确保你已经在程序中包含了以下头文件:
```
#include <dlib/dnn.h>
```
并且在编译和链接你的程序时,使用了正确的dlib库文件。如果你使用的是CMake来构建你的项目,你可以添加以下命令来链接dlib库:
```
target_link_libraries(your_project dlib::dlib)
```
如果你手动编译你的程序,你需要在命令行中指定正确的dlib库路径和文件名。
相关问题
c++ dlib19 使用dlib_face_recognition_resnet_model_v1模型应该用哪个 net_type
使用dlib19库进行人脸识别时,可以使用dlib_face_recognition_resnet_model_v1模型,该模型已经在dlib库中内置。在使用该模型时,应该使用`anet_type`作为`net_type`,如下所示:
```c++
#include <dlib/dnn.h>
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/image_processing.h>
#include <dlib/gui_widgets.h>
#include <iostream>
using namespace dlib;
using namespace std;
int main()
{
frontal_face_detector detector = get_frontal_face_detector();
shape_predictor sp;
deserialize("shape_predictor_68_face_landmarks.dat") >> sp;
anet_type net;
deserialize("dlib_face_recognition_resnet_model_v1.dat") >> net;
// 其他代码
return 0;
}
```
其中,`anet_type`是dlib库中自带的一种神经网络结构类型,用于加载`dlib_face_recognition_resnet_model_v1`模型。
dlib 使用dlib_face_recognition_resnet_model_v1模型应该用哪个 net_type
dlib_face_recognition_resnet_model_v1 是一个基于 ResNet-34 模型架构的人脸识别模型。在 dlib 中,我们可以使用不同的 `net_type` 参数来定义不同的 ResNet 架构。在使用 dlib_face_recognition_resnet_model_v1 模型时,建议使用 `net_type = "resnet34"`,这与该模型的架构相对应。例如:
```
import dlib
# 加载人脸识别模型
facerec = dlib.face_recognition_model_v1("dlib_face_recognition_resnet_model_v1.dat")
# 加载 ResNet-34 模型
net = dlib.resnet34()
# 训练人脸识别模型
facerec.train(人脸图像列表, 标签列表, net)
```
阅读全文