如何在 QtCreator 上使用带有 highGUI 的 OpenCV?

How to use OpenCV with highGUI on QtCreator?

我正在尝试显示使用 cv2 库中的 highgui 模块从磁盘加载的基本图像。 我可以在制作 Qt Widgets 应用程序时执行此操作,但 Qt window 变得多余;但是,当使用控制台应用程序时,出现此错误:

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/highgui/src/window.cpp, line 269
terminate called after throwing an instance of 'cv::Exception'
  what():  /build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/highgui/src/window.cpp:269: error: (-215) size.width>0 && size.height>0 in function imshow

这是我的代码:

int main ()
{ 
    cv::Mat inputImg = cv::imread("/home/pi/scrot1.png");
    cv::imshow("Display Image", inputImg);
}

我在 python 中编写了一个脚本,可以通过终端 运行 调用 high gui 模块。我想用 C++ 写这个,但我似乎无法加载基本图像!

编辑:

路径实际上是无效的。但是,即使使用正确的路径,我也无法使用 HighGui 看到图像。

该错误表示图片加载不正确。 您可以使用以下方式检查:

if(image.empty()) {
   // not loaded correctly
}

您需要确定:

  1. 路径有效
  2. 图片没有损坏
  3. 您有权访问该文件夹

要真正显示图像,需要在imshow之后使用cv::waitKey()