Emgu.CV-------库人脸区域截取
using System;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
Image<Bgr, Byte> sourceImage = new Image<Bgr, Byte>("0.jpg");
// 加载人脸检测模型
Emgu.CV.CascadeClassifier faceDetector = new Emgu.CV.CascadeClassifier("haarcascade_frontalface_default.xml");//openCV XML文件
// 检测源图像和目标图像中的人脸
Rectangle[] sourceFaces = faceDetector.DetectMultiScale(sourceImage, 1.1, 3);
if (sourceFaces.Length == 0)
{
Console.WriteLine("未检测到人脸");
return;
}
// 选择第一个检测到的人脸进行替换
Rectangle sourceFaceRect = sourceFaces[0];
// 提取源和目标人脸区域
Image<Bgr, Byte> sourceFace = sourceImage.Copy(sourceFaceRect);
sourceFace .Save("output.jpg");