У меня есть изображение в cv :: Mat как лицо, мне нужно все изображение в объекте cv :: Rect
Я не мог найти, как это делается
Это или, если возможно, создание Rect из изображения в моем каталоге
вы не конвертировать cv :: Mat в cv :: Rect.
Вы хотите часть изображения внутри что Rect?
Mat roi = Mat(img,rect);
даст вам обрезанную область
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);
Хотя, как говорит @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));