sonfire 0 Жалоба Опубликовано July 13, 2017 Подскажите как вырезать выделенную область в Mat Rectangle[] facesDetected = face.DetectMultiScale(image, 1.2, 10, new Size(10, 10), new Size(image.Bitmap.Width, image.Bitmap.Height));// Обнаружение foreach (var f in facesDetected) { CvInvoke.Rectangle(image, f, new Bgr(Color.Red).MCvScalar);//Отрисовка } И как вот этот прямоугольник поместить на Mat, для дальнейшего преобразования. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано July 13, 2017 Что то у вас рисунок явно не DetectMultiScale 1. находим минимальный прямоугольник(со сторонами параллельными осям) в который вписан ваш контур ( а в DetectMultiScale у вас и так будет уже прямоугольник и делать ничего не надо ) var box = NativeMethods.imgproc_minAreaRect_Point(contours, contours.Length); 2. Вырезаем image.SubMat(f) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
sonfire 0 Жалоба Опубликовано July 13, 2017 53 минуты назад, iskees сказал: 2. Вырезаем image.SubMat(f) DetectMultiScale потому что использую CascadeClassifier. И .SubMat() нету метода у Mat Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах