sonfire

EmguCV вырезать выделенную область

3 сообщения в этой теме

Подскажите как вырезать выделенную область в 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, для дальнейшего преобразования.

Screenshot_29.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что то у вас рисунок явно не DetectMultiScale

1. находим минимальный прямоугольник(со сторонами параллельными осям)  в который вписан ваш контур ( а в  DetectMultiScale у вас и так будет уже прямоугольник и делать ничего не надо )         var box = NativeMethods.imgproc_minAreaRect_Point(contours, contours.Length);

2. Вырезаем image.SubMat(f)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
53 минуты назад, iskees сказал:

 2. Вырезаем image.SubMat(f)

DetectMultiScale потому что использую CascadeClassifier.

И .SubMat() нету метода у Mat

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!


Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу