如何显示窗口大小不同的输出图像?通过使用cv :: Mat

时间:2012-09-18 12:04:39

标签: c++ opencv

根据How can I display output image with difference size of window?

我想使用OpenCV功能在窗口上显示图像。但是,我试图显示图像的任何时候都适合显示尺寸。

如果我想显示窗口大小不同的图像(例如,窗口大小为1280x960px,图像在偏移坐标为100x100px时为600x600px)我该如何制作?

但是,根据之前的问题,我想使用cv :: Mat(C ++ API)如何创建它们?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

cv::Mat smallImage = cv::imread("myimage.jpg");
cv::Mat bigWindow = cv::Mat::zeros(960,1280, smallImage.type());

cv::Rect r(0,0,smallImage.cols, smallImage.rows);
cv::Mat roi = bigWindow(r);
smallImage.copyTo(roi);
cv::namedWindow("Display"); // cv::namedWindow("Display", 0); if you want to be able to  resize window
cv::imshow("Display", bigWindow);
cv::waitKey(0);

您在上一个问题中得到了答案。现在,如果您想进一步了解OpenCV,您必须阅读Documentation