public CameraInfo identifyFace() { CameraInfo info = new CameraInfo(); using (Mat mat = capture.QueryFrame()) { if (mat == null) { return(null); } List <Rectangle> faces = getFaceRectangle(mat); if (faces.Count <= 0) { info.isHasFace = false; } else { // 绘制人脸 using (Graphics g = Graphics.FromImage(mat.Bitmap)) { foreach (Rectangle face in faces) { g.DrawRectangle(new System.Drawing.Pen(System.Drawing.Color.Red, 2), face);//给识别出的人脸画矩形框 } } info.isHasFace = true; } info.mat = mat; info.imagesSource = ImageConverterL.ToBitmapSource(mat.Bitmap); return(info); } }
public ImageSource getImage() { try { Mat mat = capture.QueryFrame(); return(ImageConverterL.ToBitmapSource(mat.Bitmap)); } catch (Exception) { return(null); } }