Как мне преобразовать cv :: Mat в cv :: Rect

У меня есть изображение в cv :: Mat как лицо, мне нужно все изображение в объекте cv :: Rect
Я не мог найти, как это делается
Это или, если возможно, создание Rect из изображения в моем каталоге

0

Решение

вы не конвертировать cv :: Mat в cv :: Rect.

Вы хотите часть изображения внутри что Rect?

Mat roi = Mat(img,rect);

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

9

Другие решения

cv :: Mat не может напрямую дать вам cv :: Rect, но вы можете создать свой
самостоятельно, используя метод size () cv :: Mat и предполагая, что начальная точка cv :: Rect — (0,0)

cv::Mat image;
// load your image into the cv::Mat
...
// now create the cv::Rect from the cv::Mat
cv::Rect rect = cv::Rect(0, 0, image.size().width, image.size().height);

3

Хотя, как говорит @berak, вы не можете преобразовать cv :: Mat в cv :: Rect, я предполагаю, что вы хотите что-то подобное (не проверено).

cv::Mat face;   // you already have this with some data in it
cv::Mat image;  // you already have this with some data in it
cv::Rect rect(x, y, w, h); // some place in image where you want face

// copy face into rectange within image
cv::resize(face, image(rect), cv::Size(rect.width, rect.height));
1
По вопросам рекламы [email protected]