效果

VideoCapture video = new VideoCapture();
video.Open(0); //电脑默认自带摄像头为0
while (true)
{
Mat src = new Mat();
if (!video.Read(src))
{
break;
}
Mat grayImage = new Mat();
Cv2.CvtColor(src, grayImage, ColorConversionCodes.BGR2GRAY); //图形转成黑白色分析更明显
Rect[] faces = cascade.DetectMultiScale(
image: grayImage,
scaleFactor: 1.1,
minNeighbors: 1,
flags: HaarDetectionTypes.DoRoughSearch | HaarDetectionTypes.ScaleImage,
minSize: new OpenCvSharp.Size(30, 30)
);
if (faces.Length > 0) //识别到人脸
foreach (Rect face in faces)
Cv2.Rectangle(src, face, new Scalar(0, 255, 0), 2); //画框
Cv2.ImShow("Demo", src);
Cv2.WaitKey(1);
src.Release(); //释放
}
Cv2.DestroyAllWindows();
添加文字
Cv2.Rectangle(src, face, new Scalar(0, 255, 0), 1); Cv2.PutText(src, name, new OpenCvSharp.Point(face.X, face.Y),HersheyFonts.HersheySimplex, 3, Scalar.Blue);


浙公网安备 33010602011771号