前言
在计算机视觉领域,人脸识别是一项具有挑战性且备受关注的任务。借助于开源的计算机视觉库OpenCV,我们可以轻松实现人脸识别功能,并通过在识别出的人脸周围绘制边界框的方式来突出显示人脸位置。本篇博客将介绍如何配置环境,然后使用C++和OpenCV库读取图像、进行人脸识别,并框出识别到的人脸。
一、什么是OpenCV?
OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和图像处理库,提供了大量的图像处理和计算机视觉算法。它由一系列C++、Python和其他编程语言的函数和类组成,可以在多个平台上运行,包括Windows、Linux、macOS等。OpenCV包含了许多用于处理图像、视频、特征检测、目标识别、机器学习等任务的函数和模块,使开发者能够快速构建各种计算机视觉应用。
二、OpenCV的安装和配置
1. OpenCV 下载
链接: https://opencv.org/
此链接为open cv 官网,可以在官网下载windows版本。
![图片[1]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-d964672c5d3cd92e0c30ad6c4e78d160_720w.png)
![图片[2]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-f276f68696a2220f1916bb2fde11d925_720w.png)
点击library,接着选择release选项,下载windows的opencv-4.9.0版本安装包
2. 安装
点击安装包进行安装,本人安装在d盘中
![图片[3]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-bdfb3e61c35ef14edf66ebaef777ddf9_720w.png)
安装好后安装目录的内容展示如图
![图片[4]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-143b9ce343fa1506c3fbcb1147d07706_720w.png)
![图片[5]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-39be4f83aa585b84436785851cefbfdb_720w.png)
![图片[6]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-4a701f597fa198d0b89efa0f2b0eba4e_720w.png)
3. 配置环境变量
![图片[7]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-4fcccf0dea2ecdcb31976bdd81d1519c_720w.png)
![图片[8]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-449d5378f91ba3414547b032a9647839_720w.png)
![图片[9]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-c53400cc91ebabd7da60ebb1e87252f9_720w.png)
把bin和lib文件夹加入环境变量
![图片[10]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-1e6dcdba209525cf764e22bd8ced6f2d_720w.png)
![图片[11]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-86565e6f7e887e09245a201af7a062e2_720w.png)
环境变量就配置好了
4.vs2022环境配置
新建一个项目
![图片[12]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-7b35a9b71b7002392c1f2c94d3be3989_720w.png)
![图片[13]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-1148e528b2829fda822b53efb4a800bb_720w.png)
![图片[14]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-bc61d80aaa3aaa6cd5fbb315a9be6c8e_720w.png)
点开属性页后,按照下面步骤输入以下两个路径
![图片[15]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-67a80505136fe7a210c304f7e39dfe7e_720w.png)
![图片[16]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-7ef12cbd2b79bf1991450f200e171b49_720w.png)
![图片[17]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-c37011c8ed9d898302c639c44248dc92_720w.png)
点击确定,包含目录就配置好了
下面配置库目录,按照步骤,输入路径:D:\opencv\opencv\build\x64\vc15\lib
点击确定
![图片[18]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-0ccc5ed32877b6c1d3b98ee585865c8f_720w.png)
下面配置lib库,将lib的文件名粘贴到空白处,点击确定
![图片[19]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-cbceccd9b3fbe437edbe60bc37655f01_720w.png)
我的lib库的名字是490d.lib,大家可能会由于版本的原因导致名字不一样,但后缀都是.lib
![图片[20]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-cc4a641e36d6e1fe9645051477955c08_720w.png)
新建一个cpp文件
![图片[21]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-dda94e3a69626a9b90c2b7588063cca3_720w.png)
将下列代码输入,运行测试
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("C:\\Users\\Json\\Downloads\\CatLogo.png");
namedWindow("Face");
imshow("Face", img);
waitKey(0);
return 0;
}
像这样,能把你的图片放出来,这样就可以了
![图片[22]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-84585bf970b924a99fc94c25429c171e_720w.png)
三、OpenCV识别图片人脸
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv) {
// 读取图像文件
Mat image = imread("C:\\Users\\Json\\Downloads\\face (2).jpeg");
if (image.empty()) {
std::cout << "无法读取图像文件" << std::endl;
return -1;
}
// 加载人脸识别分类器
CascadeClassifier face_cascade;
if (!face_cascade.load("C:\\Users\\Json\\Downloads\\haarcascade_frontalface_alt.xml")) {
std::cout << "无法加载人脸识别分类器" << std::endl;
return -1;
}
// 识别人脸
std::vector<Rect> faces;
face_cascade.detectMultiScale(image, faces, 1.1, 2, 0 | CASCADE_SCALE_IMAGE, Size(30, 30));
// 在图像上绘制边界框
for (size_t i = 0; i < faces.size(); i++) {
rectangle(image, faces[i], Scalar(255, 0, 0), 2);
}
// 显示结果图像
imshow("人脸识别结果", image);
waitKey(0);
return 0;
}
![图片[23]-OpenCV 配置 VS 2022并识别人脸框出 - 灵码CV-灵码CV](https://www.0cv.com/wp-content/uploads/2025/11/v2-3efcd20e1a6417fd8fbe409d292ae543_720w.png)
四、总结
通过本篇博客,我们学习了如何使用OpenCV库来实现简单的人脸识别功能,并通过绘制边界框来标记识别到的人脸位置。人脸识别是计算机视觉领域的一个重要任务,在实际应用中具有广泛的用途。借助于开源库OpenCV,我们可以轻松地实现这一功能,并将其集成到我们的应用程序中。希望本篇博客能够对你理解人脸识别技术和OpenCV库的使用有所帮助。














暂无评论内容