如果你想以设定的尺寸显示整个图像,而不是截取部分图像,可以根据图像的大小计算出合适的窗口大小,并进行缩放。下面是一个示例代码:
cv::imshow("original image", image);
cv::imshow("stitched image", stitchedImage);
// 获取原始图像和拼接图像的大小
int originalWidth = image.cols;
int originalHeight = image.rows;
int stitchedWidth = stitchedImage.cols;
int stitchedHeight = stitchedImage.rows;
// 计算原始图像和拼接图像应该显示的窗口大小
int desiredWidth = 800; // 设定宽度为800
float scaleFactor1 = static_cast<float>(desiredWidth) / originalWidth;
int desiredHeight1 = static_cast<int>(scaleFactor1 * originalHeight);
int desiredWidth2 = 1024; // 设定宽度为1024
float scaleFactor2 = static_cast<float>(desiredWidth2) / stitchedWidth;
int desiredHeight2 = static_cast<int>(scaleFactor2 * stitchedHeight);
// 调整窗口大小并显示图像
cv::namedWindow("original image", cv::WINDOW_NORMAL);
cv::resizeWindow("original image", desiredWidth, desiredHeight1);
cv::namedWindow("stitched image", cv::WINDOW_NORMAL);
cv::resizeWindow("stitched image", desiredWidth2, desiredHeight2);
在上述代码中,根据设定的宽度和原始图像/拼接图像的宽高比例,计算了对应的高度,并将窗口调整到相应的尺寸。这样可以确保整个图像完整地显示在窗口中。你可以根据自己的需求修改代码中的设定宽度和高度。
内容由零声教学AI助手提供,问题来源于学员提问




