OpenCV imread() 不工作

OpenCV imread() is not working

我有这个简单的代码来打开图像,但它在 "Video" window 中显示空白图像。我已经检查了发布和调试库以确保。它处于发布模式,库是发布库。图片在那里,我也尝试了图片的完整路径,但仍然不起作用。还尝试了不同的图像格式:jpg、png、bmp。它是 OpenCV 3.4.1 版本和 VS 2017(也尝试过 2015)。

#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <iostream>


using namespace std;
using namespace cv;

int main()
{
    namedWindow("Video");

    Mat frame1 = imread("Penguins.bmp", CV_LOAD_IMAGE_COLOR ); 

    imshow("Video", frame1);

    system("Pause");

    return 0;


}

提前致谢

您需要在imshow()之后使用waitKey()功能。可以传入一个延时参数,让图片显示一定时间(毫秒)。

示例:

#--- It will display the image for 30 ms 
waitKey(30);

#--- It will display the image until a key is pressed
waitKey();

查看 THIS PAGE 了解更多。

还有一个演示示例HERE