【问题标题】:how to resize the image through imshow (opencv , imshow )?如何通过 imshow (opencv, imshow) 调整图像大小?
【发布时间】:2020-01-29 19:34:36
【问题描述】:

我正在尝试显示图像。但是 imshow 以大比例显示图像,以便我可以看到图像的像素(如下图所示)

如您所见,像素太大。这不好。我期待的是这样的:

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

这是我的代码:

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

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

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

【问题讨论】:

    标签: c++ opencv resize imshow


    【解决方案1】:

    您可以使用带有WindowFlags 的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) 吗?您是否尝试过其他 WindowFlags,例如 CV_WINDOW_KEEPRATIO?你能展示一小段代码吗?
    • 你能试试waitKey()和waitKey(1)吗?我听说这有时也是一个问题。我无法重现错误,因为我主要不使用 Linux。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2017-11-30
    • 2014-07-21
    相关资源
    最近更新 更多