opencv生成人脸轮廓c++代码实例及运行结果

本文展示了如何使用OpenCV库在C++中实现人脸轮廓检测。通过给出的代码实例,详细解释了代码流程,并附带了实际运行的结果展示。
摘要由CSDN通过智能技术生成

c++代码

#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

Mat drawFaceOutline(Mat srcColor, Mat result)
{
	//整体轮廓
	Size size = srcColor.size();
	Mat faceOutline = Mat::zeros(size, CV_8UC3);
	Scalar color = CV_RGB(255, 0, 0);
	int thickness = 3;
	int sw = size.width;
	int sh = size.height;
	int faceH = sh / 2 * 70 / 100;
	int faceW = faceH * 72 / 100;
	ellipse(faceOutline, Point(sw / 2, sh / 2), Size(faceW, faceH), 0, 0, 360, color, thickness, CV_AA);
	//眼睛轮廓
	int eyeW = faceW * 23 / 100;
	int eyeH = faceH * 11 / 100;
	int eyeX = faceW * 48 / 100;
	int eyeY = faceH * 13 / 100;
	Size eyeSize = Size(eyeW, eyeH);
	int eyeA = 15;
	int eyeYshift = 11;
	//左眼上半部分
	ellipse(faceOutline, Point(sw / 2 + eyeX, sh / 2 - eyeY), eyeSize, 0, 180 + eyeA, 360 - eyeA, color, thickness);
	//左眼下半部分
	ellipse(faceOutline, Point(sw / 2 + eyeX, sh / 2 - eyeY - eyeYshi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值