前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV人脸检测 人脸打码

OpenCV人脸检测 人脸打码

作者头像
chaibubble
发布2022-05-07 09:05:37
2K0
发布2022-05-07 09:05:37
举报
文章被收录于专栏:深度学习与计算机视觉

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

代码语言:javascript
复制
#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 归档