C++ 如何通过imshow(opencv,imshow)调整图像大小?

C++ 如何通过imshow(opencv,imshow)调整图像大小?,c++,opencv,resize,imshow,C++,Opencv,Resize,Imshow,我想展示一个图像。但是imshow用大比例显示图像,这样我可以看到图像的像素(如下图所示) 正如你看到的,像素太大了。而且这不好。我期待着这样的事情: 有没有办法调整图像窗口的大小? 我正在使用Linux vscode 这是我的密码: int main() { Mat O_image = imread("lena.jpg"); namedWindow("hamid", CV_WINDOW_KEEPRATIO); imshow("hamid", O_image);

我想展示一个图像。但是imshow用大比例显示图像,这样我可以看到图像的像素(如下图所示)

正如你看到的,像素太大了。而且这不好。我期待着这样的事情:

有没有办法调整图像窗口的大小? 我正在使用Linux vscode

这是我的密码:

int main()
{
     Mat O_image = imread("lena.jpg");

     namedWindow("hamid", CV_WINDOW_KEEPRATIO);
     imshow("hamid", O_image);
     waitKey(0);
     return 0;
}

当我将鼠标移到边缘时,指针会发生变化,但无法调整其大小

您可以使用cv::namedWindow来控制输出窗口的大小

cv::Mat img;
img = cv::imread("Lena.jpg", CV_LOAD_IMAGE_GRAYSCALE);

cv::namedWindow("A image of Lena", CV_WINDOW_NORMAL); //CV_WINDOW_NORMAL to enable the user to resize the window
cv::imshow("A image of Lena", img);

嗨,谢谢你的回答。当我靠近边缘时指针会发生变化,但仍然无法调整其大小。是否在cv::imshow之后使用cv::waitKey(0)?你有没有试过其他的窗口标志,比如CV\u WINDOW\u KEEPRATIO?你能展示一小段代码吗?你能试试waitKey()和waitKey(1)吗?我听说这有时也是一个问题。我不能复制错误,因为我主要不是在使用Linux。