首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OpenCV人脸检测 人脸打码

OpenCV人脸检测 人脸打码

作者头像
chaibubble
发布2022-05-07 09:05:37
发布2022-05-07 09:05:37
2.4K00
代码可运行
举报
运行总次数:0
代码可运行

.xml文件路径为本地绝对路径,应用代码时需要修改。 代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>


using namespace std;
using namespace cv;

void detectAndDisplay( Mat frame );

String face_cascade_name = "C:\\Program Files\\OpenCV2.4.11\\opencv\\sources\\data\\lbpcascades\\lbpcascade_frontalface.xml";
String eyes_cascade_name = "C:\\Program Files\\OpenCV2.4.11\\opencv\sources\\data\\haarcascades\\haarcascade_eye_tree_eyeglasses.xml";
CascadeClassifier face_cascade;
CascadeClassifier eyes_cascade;
string window_name = "detectionresult";

RNG rng(12345);


int main( int argc, const char** argv )
{
	Mat frame;
	face_cascade.load( face_cascade_name );
	if( !face_cascade.load( face_cascade_name ) )
	{ printf("--(!)Error loading\n"); return -1; };
   frame = imread("1.png");
   detectAndDisplay(frame);
   waitKey(0);
	return 0;
}
void detectAndDisplay( Mat frame )
{
	std::vector<Rect> faces;
	Mat frame_gray;
	cvtColor( frame, frame_gray, CV_BGR2GRAY );
	equalizeHist( frame_gray, frame_gray );
	face_cascade.detectMultiScale( frame_gray, faces, 1.1, 2, 0, Size(20, 20) );
	for( int i = 0; i < faces.size(); i++ )
	{
		Mat faceROI = frame_gray( faces[i] );
		Mat faceOrg = frame( faces[i] );
		blur(faceOrg, faceOrg, Size(25,25));  
		std::vector<Rect> eyes;
	}
	imshow( window_name, frame );
}

效果图:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档