Поиск положения лица с помощью emgucv (c#) - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть свой код, чтобы можно было определить лицо, а затем положить коробку вокруг того, где оно находит лицо, но я ищу, чтобы найти положение поля, которое оно помещает. Было бы здорово получить любую позицию, так как я могу настроить другой код для конкретной позиции.

Как я могу получить позицию из этого?

Большое спасибо

 private void Device_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone();
            Image<Bgr, byte> grayImage = new Image<Bgr, byte>(bitmap);
            Rectangle[] rectangles = cascadeClassifier1.DetectMultiScale(grayImage, 1.2, 1);
            foreach (Rectangle rectangle in rectangles)
            {
                using (Graphics graphics = Graphics.FromImage(bitmap))
                {
                    using (Pen pen = new Pen(Color.Red, 1))
                    {
                        graphics.DrawRectangle(pen, rectangle);
                    }
                }
            }
            plc.Image = bitmap;
        }

1 Ответ

0 голосов
/ 15 апреля 2020

Вы можете получить верхнюю левую координаты x и y прямоугольника, а также ширину и высоту.

//Get the top left cord
int rectX = rectangle.X;
int rectY = rectangle.Y;

//Get the width and height of the rectangle
int rectWidth = rectangle.Width;
int rectHeight = rectangle.Height;

Используя эти значения выше, вы можете найти шнуры трех других точек прямоугольника .

//The top right cord
int topRightX = rectX + rectWidth;
int topRightY = rectY;

//The bottom left cord
int bottomX = rectX;
int bottomY = rectY + rectHeight;

//The bottom right cord
int bottomRightX = rectX + rectWidth;
int bottomRightY = rectY + rectHeight;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...