OpenCV C ++ imshow不起作用

时间:2017-06-26 03:03:01

标签: c++ opencv

我是OpenCV的新手。如果有人回答这个问题我很感激。我尝试读取图像并显示它。下面是我从文档中复制的代码的副本。但是,只会弹出一个没有实际图像的窗口:

#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    Mat img = imread("myimage.jpg", CV_LOAD_IMAGE_UNCHANGED);

    if (img.empty()) 
    {
        cout << "Error : Image cannot be loaded..!!" << endl;
        return -1;
    }
    else
    {
        namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); 
        imshow("MyWindow", img); 
        waitKey(5000); 
    }      

    return 0;
}

2 个答案:

答案 0 :(得分:-1)

我复制了您的代码,并将图片更改为本地图片,并且显示正确 看起来程序由于某种原因无法读取图像 你为什么不尝试使用图像的完整路径?

答案 1 :(得分:-1)

代码非常正确,请确保将myimage.jpg与二进制文件放在同一个文件夹中。 尝试使用完整路径查看图像或以argv [1]提供图像路径。