OpenCV将加载图像,但不显示它



我在C++中使用CMake和OpenCV,只是想运行一个简单的程序:

#include "opencv/highgui.h"
#include "opencv/highgui.hpp"
#include "opencv/cv.h"
#include "opencv/cxcore.h"
#include "opencv/cxcore.hpp"
#include <stdio.h>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
   Mat image = imread("test.jpg", CV_LOAD_IMAGE_UNCHANGED);
   if (!image.data) //check whether the image is loaded or not
   {
         cout << "Image cannot be loaded." << endl;
   }
   else
   {
        cout<<"Image can be loaded."<<endl;
        cout<<"Size is "<<image.size().height<<","<<image.size().width<<endl;
        namedWindow( "Display window", CV_WINDOW_AUTOSIZE );
        imshow( "Display Image", image );
    }
}

当我cmake时,我没有错误,当我通过执行来运行程序时/测试时,我得到了"图像可以加载"以及正确大小的图像。

为什么我的程序不创建一个显示图像的新窗口?

谢谢!

在imshow之后使用cv::waitKey()。这是进行openCV渲染所必需的。

使用waitKey(0)暂停直到按键被按下,或者使用waitKey(1)尽可能短地暂停。

供进一步参考。

相关内容

  • 没有找到相关文章