根据How can I display output image with difference size of window?
我想使用OpenCV功能在窗口上显示图像。但是,我试图显示图像的任何时候都适合显示尺寸。
如果我想显示窗口大小不同的图像(例如,窗口大小为1280x960px,图像在偏移坐标为100x100px时为600x600px)我该如何制作?
但是,根据之前的问题,我想使用cv :: Mat(C ++ API)如何创建它们?
感谢您的帮助。
答案 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!