Как нарисовать линию вокруг обнаруженного лица на картинке?
Привет. Я хочу обнаружить лицо и нарисовать линию точно вокруг лица, чтобы обрезать его.
Я много искал и использовал детектор лица EmguCV. но теперь мой код просто рисует "прямоугольник" вокруг лица, и если я его обрезаю, то у меня будет прямоугольник с лицом внутри него, и это мне не полезно.
Что я уже пробовал:
это ядро моего простого кода:
CascadeClassifier _cascadeClassifier = new CascadeClassifier(Application.StartupPath + "/haarcascade_frontalface_alt_tree.xml"); using (var firstImage = Image.FromStream(saveImageStream)) { var bgrImage = new Image(new Bitmap(firstImage)); Image grayFrame = bgrImage.Convert(); var faces = _cascadeClassifier.DetectMultiScale(grayFrame, 1.01, 1, Size.Empty); foreach (var face in faces) { bgrImage.Draw(face, new Bgr(Color.BurlyWood), 3); } Image detectedImage = bgrImage.ToBitmap(); detectedImage.Save("detectedImage .jpg"); }
выход этого кода-картинка с "прямоугольником" вокруг лица.
здесь вы можете увидеть текущий результат и ожидаемый результат
Но как я могу обнаружить лицо и "нарисовать линию вокруг лица", как овал, который состоит из всех элементов лица и ничего больше?