В результате для моего приложения в opencv у меня отображаются три изолированных окна. Я хочу, чтобы они были более красивыми, если поместить их в одно окно и с разными размерами. Как я могу это сделать?
спасибо
Вы можете сделать это только одним способом в 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);
Я думаю, что это невозможно в OpenCV:
http://docs.opencv.org/modules/highgui/doc/user_interface.html?highlight=show#
Вы можете попробовать вручную скопировать разные изображения в один cv::Mat
и накорми это imshow