imshow窗口不显示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mingjieshendu/article/details/81155137

1.问题描述

  我在一次使用OpenCV3.2.0(Win10 VS2015 Debug x64 )的过程中,发现imshow函数调用窗口不显示(waitKey函数已添加)。
  如图1所示,只有任务栏图标,不显示窗口。
图1 无窗口显示

图1 无窗口显示

2.问题分析

  可能是函数调用问题,问题最简化(使用最简单的表达方式逐步接近问题)。
  这里是函数命名、参数最简化。

3.问题解决

  这里是imshow函数的窗口名称字符之间不能有空格。
图2 正常窗口显示

图2 正常窗口显示

4.代码对比

修改前:

#include<opencv2\opencv.hpp>

using namespace cv;

int main(void)
{
    //para
    Mat srcImg;
    string path, strWin;
    //init
    path = "leaf.jpg";
    strWin = "SOURCE IMAGE";
    //read
    srcImg = imread(path, CV_LOAD_IMAGE_UNCHANGED);

    if (srcImg.empty())
    {
        return -1;
    }
    //display
    namedWindow(strWin, CV_WINDOW_NORMAL);
    imshow(strWin, srcImg);

    waitKey(0);

    return 0;
}

修改后:

#include<opencv2\opencv.hpp>

using namespace cv;

int main(void)
{
    //para
    Mat srcImg;
    string path, strWin;
    //init
    path = "leaf.jpg";
    strWin = "SOURCE_IMAGE";
    //read
    srcImg = imread(path, CV_LOAD_IMAGE_UNCHANGED);

    if (srcImg.empty())
    {
        return -1;
    }
    //display
    namedWindow(strWin, CV_WINDOW_NORMAL);
    imshow(strWin, srcImg);

    waitKey(0);

    return 0;
}

猜你喜欢

转载自blog.csdn.net/mingjieshendu/article/details/81155137