在一个OpenCV中显示不同的窗口

时间:2015-05-20 09:50:20

标签: c++ opencv imshow

因为我在opencv中的应用程序我有三个绝缘窗口显示我希望通过将三个放在一个窗口和不同的大小更美丽我怎么能这样做 你好吗

2 个答案:

答案 0 :(得分:1)

你只能在OpenCV中这样做,那就是创建一个巨大的cv :: Mat,它由三个图像组成并显示矩阵,这可以像this那样完成:

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 :(得分:0)

我认为这在OpenCV中是不可能的: http://docs.opencv.org/modules/highgui/doc/user_interface.html?highlight=show#

您可以尝试在一个cv::Mat中手动复制不同的图片,然后将其提供给imshow