OpenCV 配置 VS 2022并识别人脸框出

文章目录

前言

在计算机视觉领域,人脸识别是一项具有挑战性且备受关注的任务。借助于开源的计算机视觉库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版本。

点击library,接着选择release选项,下载windows的opencv-4.9.0版本安装包

2. 安装

点击安装包进行安装,本人安装在d盘中

安装好后安装目录的内容展示如图


3. 配置环境变量



把bin和lib文件夹加入环境变量

环境变量就配置好了

4.vs2022环境配置

新建一个项目


点开属性页后,按照下面步骤输入以下两个路径


点击确定,包含目录就配置好了

下面配置库目录,按照步骤,输入路径:D:\opencv\opencv\build\x64\vc15\lib

点击确定

下面配置lib库,将lib的文件名粘贴到空白处,点击确定

我的lib库的名字是490d.lib,大家可能会由于版本的原因导致名字不一样,但后缀都是.lib

新建一个cpp文件

将下列代码输入,运行测试

cpp 复制代码
#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;
}

像这样,能把你的图片放出来,这样就可以了

三、OpenCV识别图片人脸

cpp 复制代码
#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;
}

四、总结

通过本篇博客,我们学习了如何使用OpenCV库来实现简单的人脸识别功能,并通过绘制边界框来标记识别到的人脸位置。人脸识别是计算机视觉领域的一个重要任务,在实际应用中具有广泛的用途。借助于开源库OpenCV,我们可以轻松地实现这一功能,并将其集成到我们的应用程序中。希望本篇博客能够对你理解人脸识别技术和OpenCV库的使用有所帮助。

相关推荐
2501_920953865 小时前
工业4.0时代,制造企业精益管理咨询的标准化实施步骤
大数据·人工智能·制造
~央千澈~5 小时前
《2026鸿蒙NEXT纯血开发与AI辅助》第四章 对鸿蒙next项目结构目录详解以及实战解决一个最初的依赖安装的报错·卓伊凡
人工智能
xinlianyq6 小时前
2026企业流量破局:四大主流短视频矩阵获客系统深度解析与选型指南
人工智能·矩阵
workflower7 小时前
用硬件换时间”与“用算法降成本”之间的博弈
人工智能·算法·安全·集成测试·无人机·ai编程
AI人工智能+7 小时前
施工许可证识别技术:深度融合计算机视觉(CV)与自然语言处理(NLP)
深度学习·计算机视觉·ocr·施工许可证识别
Cx330❀8 小时前
一文吃透Linux System V共享内存:原理+实操+避坑指南
大数据·linux·运维·服务器·人工智能
OPHKVPS8 小时前
Anthropic 为 Claude Code 推出“自动模式”:AI 编码工具迈向更高自主性
网络·人工智能·安全·ai
Allen_LVyingbo8 小时前
斯坦福HAI官网完整版《2025 AI Index Report》全面解读
人工智能·数学建模·开源·云计算·知识图谱
金融小师妹8 小时前
基于AI通胀预期建模与能源冲击传导机制的政策分析:高频信号下的风险再评估
人工智能·svn·能源
胡摩西8 小时前
当大模型遇上毫米级定位:机器人将拥有“空间思维”?
人工智能·机器人·slam·gps·室内定位·roomaps