在Visual Studio配置Dlib库+demo代码检测出人脸,安装成功

一、在Visual Studio配置Dlib库步骤

1.首先下载好dlib和cmake

下载Dlib安装包链接:Index of /files

可根据需要选择下载的版本,这里的例子是dlib-19.24版本的

安装cmake:Download CMake

安装好了cmake直接点击cmake-gui.exe打开

2.编译dlib源码

在dlib目录下新建一个build文件夹,在build文件夹下,分别新建一个x64和x86文件夹,用于保存64位和32位的编译文件,根据自己需要创建,我这里用的是64位,所以只创建了x64文件夹,如下:

    

对刚刚打开的cmake进行配置:

(1).在红色框内填写自己的真实路径(此处忽略掉Name和Value的内容,这个是我已经编译过的结果,实际上在完成编译之前应该是空的.)

(2).点击Configure

点击“Configure” 后,选择对应的编译器版本和“Use default native compilers”,编译器有64位和32位,注意选择,然后点击“finish”。

编译完后下面有报错,并且文件夹内并没有生成dlib.sln.

(3).点击“Generate” 按钮,继续生成,会发现一片红没有了,文件夹内也出现想要的“dlib.sln”文件

(4).生成lib链接库 

找到“dlib.sln”文件,使用vs打开,点击生成,选择“重新生成解决方案”或者“生成dlib”,64位、32位、debug、release分别生成一个,我这里使用的前者。

3.配置Dlib 

打开Visual Studio,新建一个C++项目,右键点击项目名称选择属性,配置VC++目录下的包含目录和库目录,以及链接器下的输入下的附加依赖项:

注意在配置时,选择自己对应的Debug和Release模式,比如说我这里使用的是x64的Debug。

若没有进行上述的dlib配置,在C++使用dlib库时就会报错:

因此,配置dlib是非常重要的一步.

4.如果运行报错

将build下的config.h文件复制到dlib源码里面去,替换掉源码中的config.h文件,可以解决报错,再次运行就成功了。

二、代码演示检测结果

1.演示检测人脸的demo代码:

#include <opencv2/opencv.hpp>
#include <fstream>
#include <filesystem>
#include <dlib/opencv.h>
#include <dlib/image_processing.h>
#include <dlib/image_processing/frontal_face_detector.h>

using namespace dlib;
using namespace cv;
using namespace std;

int main()
{
	// 创建人脸检测器
	dlib::frontal_face_detector detector = dlib::get_frontal_face_detector();

	string file_path = "./image/face_data/1.jpg";
	cv::Mat image = cv::imread(file_path);

	if (image.empty())
	{
		printf("图像读取失败\n");
		return -1;
	}
	printf("图像读取成功!\n");
	//显示输入图片
	namedWindow("input_image", WINDOW_FREERATIO);
	imshow("input_image", image);

	//处理图像
	/*FaceRecog qd;
	qd.face(image);*/

	// 转换图像格式为dlib可用的类型
	dlib::cv_image<dlib::bgr_pixel> dlibImage(image);

	// 在图像中检测人脸
	std::vector<dlib::rectangle> faces = detector(dlibImage);
	
	// 在图像上标记检测到的人脸
	for (const auto& face : faces)
	{
		cv::rectangle(image, cv::Point(face.left(), face.top()), cv::Point(face.right(), face.bottom()), cv::Scalar(0, 255, 0), 2);
	}

	// 显示带有人脸标记的图像
	cv::namedWindow("Detected Faces", WINDOW_FREERATIO);
	cv::imshow("Detected Faces", image);
	cout << "检测到的人脸数 :" << faces.size() << endl;

	cv::waitKey(0);
	system("pause"); // 暂停程序执行,等待用户按下任意键继续
	return 0;
}




2.演示结果:

注:绿色矩形框出来的表示检测出来的人脸。

参考文章:《Visual Studio配置Dlib库教程》_dlib vs 配置-CSDN博客

<think>好的,用户的问题是关于如何在VS2022中安装dlib。首先,我需要回忆一下dlib安装方法,尤其是针对Windows和VS环境的情况。根据用户提供的引用资料,有几个不同的方法被提到,比如使用Anaconda、直接安装预编译的whl文件,或者通过CMake手动编译。用户特别提到VS2022,所以可能需要编译源代码的情况,因为直接安装可能涉及到需要C++构建工具的情况。 首先,用户可能已经安装了VS2022,所以需要检查是否安装了C++的工作负载。根据引用[5],安装Visual Studio时勾选C++选项可以正确安装CMake,这可能意味着用户需要确保VS2022的C++桌面开发组件已经安装。引用[3]提到使用CMake安装其他,所以可能同样的方法适用于dlib。 然后,用户可能更倾向于使用预编译的,但如果没有合适的版本,可能需要从源码编译。引用[4]提到使用Anaconda可以一步解决,这可能是一个更简单的方法,但用户可能希望直接在VS2022项目中使用dlib,因此需要编译为静态或动态。 接下来,我需要整理步骤:首先安装必要的依赖,比如CMake、zlib、libpng等,但根据用户提供的引用,可能用户想避免复杂的依赖安装,所以可能需要寻找更简化的步骤。或者,根据引用[1]和[4],用户可以通过whl文件安装,但这是在Python环境下,而用户的问题是关于VS2022,即C++项目中的安装。所以这里可能存在混淆,用户可能是在问Python中安装dlib,但使用VS2022作为编译器?或者用户是想在C++项目中使用dlib? 需要明确用户的需求。根据问题“在VS2022中安装dlib”,可能用户是想在C++项目中使用dlib,因此需要将dlib编译并链接到项目中。这时候需要从源码编译。 根据引用[3],用户可能需要使用CMake来生成解决方案,然后在VS2022中编译。所以步骤可能包括下载dlib源码,使用CMake配置,生成VS2022项目文件,然后用VS2022编译安装。 同时,引用[5]提到安装VS的C++工具集可以正确安装CMake,但用户可能已经安装了CMake,所以需要确认是否已安装CMake,并在过程中使用它。 可能的步骤是: 1. 安装VS2022的C++桌面开发组件。 2. 安装CMake。 3. 下载dlib源码。 4. 使用CMake生成VS2022项目。 5. 用VS2022编译dlib。 6. 将编译后的文件链接到用户的项目中。 此外,用户可能遇到的问题包括路径配置、依赖项管理、编译选项设置等,需要详细说明每个步骤。 还需要注意用户之前可能遇到的问题,如直接安装dlib需要CMake,但用户可能没有正确安装,导致报错。因此,步骤中需要确保CMake正确安装,并且VS2022的环境变量配置正确。 另外,引用[4]提到使用Anaconda安装dlib,但这是在Python环境中,可能不适用于C++项目。所以需要区分用户的需求是Python还是C++。如果用户是想在Python中使用dlib,并且使用VS2022作为编译工具,可能需要不同的步骤,比如安装Python的dlib时,确保使用VS2022的编译器来构建。但根据问题中的“在VS2022中安装”,更可能是C++项目。 综上,我需要整理在VS2022中编译和安装dlib的步骤,包括依赖安装、CMake配置、编译安装,以及项目配置。</think>### 分步解答:在VS2022中安装配置dlib #### **方法一:通过源码编译安装(推荐)** 1. **安装必要工具** - 确保已安装VS2022的**C++桌面开发组件**:在安装时勾选“使用C++的桌面开发”,包含MSVC编译工具链[^5]。 - 安装[CMake](https://cmake.org/download/)(版本≥3.19),安装时选择“Add to PATH”[^3]。 2. **下载dlib源码** - 从[dlib官网](http://dlib.net/)下载最新版源码(如`dlib-19.24.zip`),解压到本地目录(例如`D:\dlib`)。 3. **生成VS2022项目** - 打开CMake GUI,设置源码路径为`D:\dlib\dlib`,构建路径为`D:\dlib\build`。 - 点击**Configure**,选择生成器为“Visual Studio 17 2022”(对应VS2022)。 - 取消勾选`DLIB_ENABLE_ASSERTS`(可选,避免调试断言干扰)。 - 点击**Generate**生成VS2022解决方案文件。 4. **编译dlib** - 打开生成的`D:\dlib\build\dlib.sln`,选择**Release**模式。 - 右键解决方案中的`dlib`项目 → **生成**,等待编译完成。 - 编译后会在`D:\dlib\build\dlib\Release`生成静态文件`dlib.lib`。 5. **配置VS2022项目** - 新建或打开现有C++项目,右键项目 → **属性**: - **C/C++ → 附加包含目录**:添加`D:\dlib`。 - **链接器 → 附加目录**:添加`D:\dlib\build\dlib\Release`。 - **链接器 → 输入 → 附加依赖项**:添加`dlib.lib`。 #### **方法二:通过Anaconda快速安装(仅限Python环境)** 若需要在Python中使用dlib,可通过Anaconda简化安装: ```bash conda install -c conda-forge dlib # 自动处理C++依赖[^4] ``` --- #### **常见问题解决** - **CMake报错找不到编译器**:检查VS2022的C++组件是否安装完整,并重启CMake。 - **链接错误**:确保项目属性中的路径和文件名(如`dlib.lib`)正确匹配。 - **Python环境安装失败**:直接下载预编译的`.whl`文件(如`dlib-19.19.0-cp38-cp38-win_amd64.whl`),通过`pip install 文件名.whl`安装[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值