отображать другое окно в одном OpenCV

В результате для моего приложения в opencv у меня отображаются три изолированных окна. Я хочу, чтобы они были более красивыми, если поместить их в одно окно и с разными размерами. Как я могу это сделать?
спасибо

1

Решение

Вы можете сделать это только одним способом в OpenCV, и это создает один гигантский cv :: Mat, который состоит из трех изображений и отображает эту матрицу, это можно сделать так: этот:

cv::Size s1 = img1.size();
cv::Size s2 = img2.size();
cv::Size s3 = img3.size();

cv::Mat output(s1.height, s1.width + s2.width + s3.width, CV_MAT_TYPE); // put in the type of your mat

cv::Mat help1(output, cv::Rect(0,0, s1.width, s1.height);
cv::Mat help2(output, cv::Rect(s1.width, 0, s2.width, s2.height);
cv::Mat help3(output, cv::Rect(s1.width + s2.width, 0, s3.width, s3.height);

img1.copyTo(help1);
img2.copyTo(help2);
img3.copyTo(help3);

cv::imshow("Output", output);
1

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

Я думаю, что это невозможно в OpenCV:
http://docs.opencv.org/modules/highgui/doc/user_interface.html?highlight=show#

Вы можете попробовать вручную скопировать разные изображения в один cv::Mat и накорми это imshow

0

По вопросам рекламы [email protected]